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
。这是阻止默认错误位置的最好方法,而不是一个完全空的函数。我想“是否有一种方法只有在被验证的字段实际无法验证时才会触发?”这是一个写得很清楚的问题。因为没有,上面的代码解决了这个问题。