jQuery validate插件,自动验证无效的原因及解决方法归纳

  最近在使用validate插件进行验证的时候,出现有的控件在个别事件(比如keydown、foucs、onchange等)下不能自动验证,而有的控件却又正常,当时觉得很诡异,后来仔细测试查看,归纳原因及解决方法如下:(不一定全面,但是如果出现了类似的情况,可以做个参考)

  原因1:控件出现了重复的type值,比如input控件中,出现了多个type="textbox",这几个input控件都无法正常的响应事件的自动验证,只有提交后才进行一次验证。

  解决方法:去掉这个type属性,同样的type值,只能存在最多一个。

 

  原因2:控件出现重复的name值,比如input控件中,出现了多个name="name",这几个input控件都无法正常的响应事件的自动验证,而且提交后也不能进行正常的验证。

  解决方法:保证控件中没有重复的name属性值。

 

  其他个例:一切都配置正常,但是仍然无法实现个别事件的自动验证。

  解决方法:在脚本中,按照validate事件的格式手动显示的重写一下指定的事件,比如

$(function(){
    $("#form").validate({
                keydown:true,
                errorPlacement: function (error, element) {
                    $("<br/>").appendTo(element.parent());
                    error.appendTo(element.parent());
                }//错误信息显示在控件下方
    })

})

  希望上面的东东,能对各位有点小帮助。3Q!

  

posted @ 2014-11-27 10:22  Jearay  阅读(3567)  评论(0编辑  收藏  举报