jQuery验证 - 仅针对验证失败的字段的回调方法

时间:2014-04-26 15:35:29

标签: javascript jquery-validate

示例:http://jqueryvalidation.org/files/demo/custom-methods-demo.html

代码:

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

问题:

如果正在验证的字段实际无法验证,是否只会触发一个方法?无论验证结果如何,errorPlacement都会触发每个字段。

感谢。

1 个答案:

答案 0 :(得分:-1)

这对我有用:

$('#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
});