jQuery验证:使用远程验证会导致错误样式被删除

时间:2017-08-14 19:18:18

标签: jquery jquery-validate

使用远程规则并且该规则的验证通过时,如果任何其他字段无效,它们将显示错误消息,但会删除错误样式。如果我删除远程规则,一切正常。此外,如果远程验证失败,一切正常。此问题仅在第一次运行验证时发生 - 在第一次之后,一切正常。

它看起来像什么(注意错误信息在那里,只是不是红色): enter image description here

应该的样子: enter image description here

如果远程验证失败,一切正常: enter image description here

Javascript:

ssh -t

HTML:

$("#CreateUserForm").validate({
    rules: {
        UserName: {
            remote: "/Users/UsernameIsFree"
        }
    },
    messages: {
        UserName: {
            remote: "Username is taken"
        }
    }
});    


//bootstrap styling for errors
$.validator.setDefaults({
    highlight: function (element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function (element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function (error, element) {
        if (element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

1 个答案:

答案 0 :(得分:0)

删除unhighlight功能并尝试

()