jquery valdaite自定义错误消息,并还恢复为默认值

时间:2012-09-12 16:03:42

标签: jquery jquery-validate

我正在尝试设置验证插件,以便:

  1. 如果表单字段具有“required”类,它将向该字段添加一个类,而不是在下面显示错误消息。如果我们有很多“需要这个字段”

  2. ,那么大型表格会变得太乱
  3. 但是我只希望这对.required字段以这种方式工作,所有其他验证应该恢复为默认值。

  4. 这是我到目前为止所做的:

    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添加到只有必填字段,尽管它仍会在每个字段下面显示消息。

1 个答案:

答案 0 :(得分:0)

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

<form method="post" novalidate>

如果您使用的是html5并在输入字段中使用“required”属性,则可以执行以下操作:

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

否则,您可以使用以下命令找到具有所需类的字段:

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

这只访问必需的字段并添加类,而不是需要遍历每个表单字段并检查是否需要它。