Asp.net mvc ASP.NET MVC验证将类添加到包含div

Asp.net mvc ASP.NET MVC验证将类添加到包含div,asp.net-mvc,twitter-bootstrap,Asp.net Mvc,Twitter Bootstrap,我使用的是引导CSS表单样式,当文本框收到验证错误消息时,我需要将类“error”放在containg上。我该怎么做 问题是,在提交表单之前,所有的验证都在ajax上启动,除了我的自定义验证程序,它只在post上启动。因此,我们需要确保这两种情况都会发生 ASP.NET MVC将字段验证错误类添加到错误消息元素中,并通过javascript将输入验证错误添加到服务器端和客户端的表单控件中。没有包含元素,根据您的代码,表单控件及其标签可能在同一个包含元素下,也可能不在同一个包含元素下。而且,即使它

我使用的是引导CSS表单样式,当文本框收到验证错误消息时,我需要将类“error”放在containg上。我该怎么做

问题是,在提交表单之前,所有的验证都在ajax上启动,除了我的自定义验证程序,它只在post上启动。因此,我们需要确保这两种情况都会发生


ASP.NET MVC将
字段验证错误
类添加到错误消息元素中,并通过javascript将
输入验证错误
添加到服务器端和客户端的表单控件中。没有包含元素,根据您的代码,表单控件及其标签可能在同一个包含元素下,也可能不在同一个包含元素下。而且,即使它们这样做了,MVC也会将所提到的类设置为表单控件和错误消息元素,而不是包含元素

另外,当您使用
Html.EditorForModel()
自动生成表单时,生成的标记如下所示:

<div class="editor-label"><label for="foo">Foo</label></div>
<div class="editor-field"><input name="foo"/></div>
Foo
Twitter引导上没有可以映射到
控制组
类的包含元素。您可以通过添加
EditorTemplates/Object.cshtml
模板来更改此模板


我建议您将Twitter引导应用于ASP.NET MVC,而不是反过来。

在jquery.validate.validate中的
onError
函数中,只需添加
.addClass(“error”)
行,如下所示:

函数onError(error,inputElement){/'this'是表单元素
var container=$(this).find(“[data valmsg for='”+escapeAttributeValue(inputElement[0].name)+“']”,
replace=$.parseJSON(container.attr(“data valmsg replace”))!==false;
container.removeClass(“字段验证有效”).addClass(“字段验证错误”);
错误。数据(“不显眼的容器”,容器);
container.parents(“.field封装器:first”).addClass(“error”);
如果(更换){
container.empty();
error.removeClass(“输入验证错误”).appendTo(容器);
}
否则{
错误。隐藏();
}
}

如部分答案中所述,可以通过
$(“表单”).data(“验证器”).settings访问设置

然后,您可以设置任何您喜欢的有效/无效类:

var settings = $("form").data("validator").settings;
settings.errorClass += " is-invalid";
settings.validClass += " is-valid";