如何在有效输入完成后获取jQuery Validate插件来更新invalidHandler
错误计数器?
$(document).ready(function () {
$("#report-listing-form").validate({
rules: {
'listing-report-email': {
required: true,
email: true
},
'listing-report-name': {
required: true
},
'listing-report-phone': {
number: true,
minlength: 7,
maxlength: 12
},
'contact-msg': {
required: true,
maxWords: 1000
}
},
errorPlacement: function(error, element) {
return false; // will suppress error messages
},
invalidHandler: function (event, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = (errors == 1) ? '1 invalid field.' : errors + ' invalid fields.';
$("#err_report-listing-form").html(message).addClass("text-error");
}
},
submitHandler: function (form) {
alert('valid form');
return false;
}
});
});
的一个工作示例
答案 0 :(得分:5)
根据此链接jquery validate plugin,我添加了showErrors回调。它更接近,但它只在字段格式失败时更新,如电子邮件或电话号码。它似乎不适用于空场。
showErrors: function(errorMap, errorList) {
var errors = this.numberOfInvalids();
if (errors) {
var message = (errors == 1) ? '1 invalid field.' : errors + ' invalid fields.';
$("#err_report-listing-form").html(message).addClass("text-error");
this.defaultShowErrors();
}
},
答案 1 :(得分:1)
引用OP :
“我如何获取jQuery Validate插件来更新
invalidHandler
有效输入完成时的错误计数器?“
简短的回答:你不能。
invalidHander :“当提交无效表单时回调自定义代码。以事件对象作为第一个参数调用,验证程序作为第二个参数调用。”< / p>
换句话说,invalidHander
回调仅触发submit
事件。您可以在your own jsFiddle中看到此行为。没有解决方法,除非你想破解插件本身的代码。