Asp.net mvc 自定义MVC验证属性和引导格式问题

Asp.net mvc 自定义MVC验证属性和引导格式问题,asp.net-mvc,jquery-validate,twitter-bootstrap,Asp.net Mvc,Jquery Validate,Twitter Bootstrap,我正在使用ASP.NETMVC和twitter引导 我添加了以下内容,以使带有错误的字段在引导中正确设置样式 $.validator.setDefaults({ highlight: function (element) { $(element).closest(".control-group").addClass("error"); }, unhighlight: function (element) { $(element).close

我正在使用ASP.NETMVC和twitter引导

我添加了以下内容,以使带有错误的字段在引导中正确设置样式

$.validator.setDefaults({
    highlight: function (element) {
        $(element).closest(".control-group").addClass("error");
    },
    unhighlight: function (element) {
        $(element).closest(".control-group").removeClass("error");
    }
});
这适用于除自定义验证属性之外的所有验证。我创建的自定义验证器检查复选框是否被选中,如果没有,它希望在文本字段中输入一些内容。这只是一个示例,但我创建的其他自定义验证属性以下面描述的相同方式失败

如果我提交表单,所有错误都会被适当地设置样式,除了带有自定义验证器的字段。但是我知道验证程序运行了,因为出现了错误消息,但是消息和字段是黑色而不是红色

如果我在字段中输入一些文本以满足验证器的要求,错误消息就会消失。然后,如果我删除了该文本,错误消息将返回,并且所有内容都将按原样设置为红色

然后,如果我再次提交表单,即使错误仍然存在,红色样式也会消失,但仅对于带有自定义验证器的字段,所有其他错误都会保持红色

在表单提交时,我设置的默认值(如上图所示)不会对带有自定义验证器的字段运行,但会对其他所有内容运行默认值

然而,通过自定义验证器在字段上执行on blur和key up事件,一切都按预期进行,所有样式都按预期工作


我不知道下一步该看什么。感谢任何帮助/指导。

我最近也遇到了同样的问题,直到我发现我在同一个
控制组中有有效和无效的输入。(
我的例子中的字段)。如果这也适用于您的情况,您可以使用
高亮显示
取消高亮显示
方法提供的
errorClass
,如下所示:

function highlight(element, errorClass, validClass) {
    $(element)
        .addClass(errorClass)
        .closest(".control-group")
        .addClass("error");
};

function unhighlight(element, errorClass, validClass) {
    var c = $(element)
        .removeClass(errorClass)
        .closest(".control-group");
    // make sure not to remove parent container error class, 
    //if there is still an invalid input field inside
    if (c.find("." + errorClass).length < 1) 
        c.removeClass("error");
};
函数突出显示(元素、errorClass、validClass){
$(元素)
.addClass(errorClass)
.最近的(“对照组”)
.addClass(“错误”);
};
函数取消高亮显示(元素、errorClass、validClass){
变量c=$(元素)
.removeClass(errorClass)
.最近的(“对照组”);
//确保不删除父容器错误类,
//如果内部仍然存在无效的输入字段
if(c.find(“.”+errorClass).length<1)
c、 removeClass(“错误”);
};

您能否在其中一个站点中重新创建示例,或者为了更好地了解错误?谢谢你看到这个问题: