jQuery使用回调验证添加和删除类

时间:2016-08-12 19:42:38

标签: jquery twitter-bootstrap jquery-validate

我正在使用jQuery Validate插件,我正在尝试使用errorPlacementsuccess回调来添加和删除引导类has-error

目前,errorPlacement回调有效,但由于success回调返回错误标签(我没有使用),我不知道该怎么做。我需要在success中再次访问我的输入,但我不知道该怎么做。

$('#msform').validate({
    submitHandler: function (form) {
        alert('valid form submitted');
        return false; // for demo
    },
    errorPlacement: function(error, element) {
        $(element).parent().addClass('has-error');
        $(element).css('border-color', '#a94442');
    },
    success: function(label) {
        label.removeClass('has-error').text('ok');
    },
    invalidHandler: function(event, validator) {
        var errors = validator.numberOfInvalids();
    }
});

有人可以帮忙吗?感谢。

修改

我想我应该通过combining custom error placement with success is not working jquery validate plugin使用高亮和不亮。

1 个答案:

答案 0 :(得分:1)

所以我问完后很快就找到了答案。我使用了错误的回调。对于此类需求,您需要使用highlightunhighlight。但出于某种原因,如果您不想添加标签,还需要定义errorPlacement

$('#msform').validate({
    errorPlacement: function() {},
    highlight: function(element) {
        $(element).parent().addClass('has-error');
        $(element).css('border-color', '#a94442');
    },
    unhighlight: function(element) {
        $(element).parent().removeClass('has-error');
        $(element).css('border-color', '');
    },
    submitHandler: function (form) {
        alert('valid form submitted');
        return false; // for demo
    },
    invalidHandler: function(event, validator) {
        var errors = validator.numberOfInvalids();
    }
});