万一其他人遇到这个问题,szaboat 的 jsfiddle 中有一个错误,给我带来了问题。
您需要将函数传递给方法的invalidHandler
选项,validate()
并且该函数应接受两个参数。第二个参数是验证器本身,它有一个numberOfInvalids()
返回总错误计数的方法。
这是jQuery Validation Plugin Documentation中的示例。
$("#myform").validate({
invalidHandler: function(event, validator) {
// 'this' refers to the form
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
$("div.error span").html(message);
$("div.error").show();
} else {
$("div.error").hide();
}
}
});