Javascript jQuery验证-仅针对验证失败的字段的回调方法
示例: 守则:Javascript jQuery验证-仅针对验证失败的字段的回调方法,javascript,jquery-validate,Javascript,Jquery Validate,示例: 守则: validate({ errorPlacement: function(error, element) { error.appendTo( element.parent("td").next("td") ); }, rules: { number: { required:true, minlength:3, maxlength:15,
validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
},
rules: {
number: {
required:true,
minlength:3,
maxlength:15,
number:true
},
secret: "buga",
math: {
equal: 11
}
}
});
问题:
是否有一种方法只有在被验证的字段实际无法验证时才会触发<无论验证结果如何,上面的代码>错误放置都会为每个字段激发
谢谢。以下是对我有效的方法:
$('#invite').validate({
invalidHandler: function(event, validator) {
if (validator.numberOfInvalids()) {
for (i in validator.errorList) {
error = validator.errorList[i];
if (typeof error['element'] === 'object') {
fGrp = $(error['element']).closest('.form-group');
fGrp.toggleClass('has-error', true);
fGrp.find('.validationErrorMessage').html(error.message).toggleClass('nodisplay', false);
}
}
}
},
errorPlacement: function(error, element) { // Do nothing
},
rules: {
email: {
required: true,
email: true,
remote: {
url: '/admin/isgmail/',
type: 'POST',
dataType: 'json',
data: {
email: function() {
return $('#email').val();
}
}
}
},
},
onkeyup: false,
onfocusout: false
});
errorPlacement
是针对所有字段的通用回调,但无论验证结果如何,它不会同时针对所有字段启动。它仅对正在验证的当前字段激发。请解释您真正想要做什么,因为我担心这个问题只是“XY问题”的一个例子:文档中提到的“自定义方法”不是用于回调,而是用于自定义规则。这个插件没有所谓的“自定义回调”。您必须使用其中一个提供的回调函数,并使用您自己的函数覆盖它…这是您将得到的最接近的结果。当您不理解问题时,“XY问题”是一个规定的响应吗?我们不要尖刻,因为您显然没有理解我最初的其余评论。XY问题是当您询问您尝试的解决方案而不是实际的根本问题时。你最初的目标是什么?你到底想达到什么目的?而拒绝投票的原因是没有正确描述它?你真的应该在errorPlacement
中放置一个return false
。这是阻止默认错误位置的最好方法,而不是一个完全空的函数。我想“是否有一种方法只有在被验证的字段实际无法验证时才会触发?”这是一个写得很清楚的问题。因为没有,上面的代码解决了这个问题。