2012-09-12 30 views
0

我想设置的验证插件,以便:jQuery的valdaite自定义错误消息,并且也将恢复为默认

  1. 如果表单字段有一类“必需”的,将一个类添加到字段,而不是显示下面的错误消息。如果我们有很多“这个字段是必需的”,大型表单变得太乱了。

  2. 但是我只希望这个工作方式适用于.required字段,所有其他验证应该恢复为默认值。

这是我到目前为止有:

var theForm = $("form[method=post]:not(.noValidate)"); 
if (theForm.length){ 
    validater = theForm.validate({ 
     showErrors: function(errorMap, errorList) { 
      var i, length = errorList.length; 
      for (i = 0; i < length; i++) { 
       if($(errorList[i].element).hasClass("required")){ 
        $(errorList[i].element).addClass("error-required"); 
       } else {     
        this.defaultShowErrors(); 
       } 
      } 
     } 
    }); 
} 

它的一半加上.error-requied仅必填字段,但仍显示每个字段下面的消息工作。

回答

0

我不完全确定显示验证错误的是什么,例如内置的html5浏览器或第三方javascript库。如果您使用的是HTML5表单,则可以通过在表单标记中使用“novalidate”来禁用表单验证,从而禁用验证标记(应该禁用标记)。

<form method="post" novalidate> 

如果您正在使用HTML5和使用您的输入域的“必要”的属性,你可以做到以下几点:

$('form[method=post]').find('[required]').addClass('error-required'); 

否则,您可以通过找到所需的类中的字段以下内容:

$('form[method=post]').find('.required').addClass('error-required'); 

这仅访问所需的字段,并增加了,而不是需要遍历每个表单字段,如果它需要检查类。