jQuery验证errorClass不起作用

时间:2013-06-22 07:28:57

标签: jquery validation

我有这个验证码:

$("#validate").validate({
        rules: {

            // My other rules
            // My other rules
            // My other rules

            minecraft: {
                required: true,
                remote: "./validate-minecraft.php"
            }
        },
        messages: {
            minecraft: {
                remote: "error."
            }
        },
        errorClass: "help-inline",
        errorElement: "span",
        highlight: function (element, errorClass, validClass) {
            $(element).parents('.control-group').addClass('error');
        },
        unhighlight: function (element, errorClass, validClass) {
            $(element).parents('.control-group').removeClass('error');
            $(element).parents('.control-group').addClass('success');
        },
        submitHandler: function (form) {
            jQuery("#btn-submit").addClass("disabled");
            ("validate").submit();
        }
    });

除了遥控器之外,一切都能正常运行。

我的PHP脚本validate-minecraft.php正确返回true或false,如果返回false,则错误消息会正确显示,但是当出现错误时字段颜色会变为绿色而不是红色

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

也许您需要删除突出显示的“成功”类。

highlight: function (element, errorClass, validClass) {
    $(element).parents('.control-group').removeClass('success');    
    $(element).parents('.control-group').addClass('error');
},

当我在您的网站上测试时,我注意到控制组div看起来像这样:

<div class="control-group success error">

现在奇怪的是,即使我第一次尝试时出错,它也会这样做。不确定如何添加成功类。但也许这与remote验证器有关?我在本地使用digits验证器进行了尝试,并且没有在初始错误上添加success类。

无论如何,您都应该删除用户输入错误的success类。