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