0

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

  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到唯一必填字段来工作,尽管它仍然在每个字段下方显示消息。

4

1 回答 1

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');

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

于 2012-09-12T16:39:39.017 回答