1
我在ASP.NET MVC 2表单验证和设置我的样式时遇到了问题。ASP.NET MVC 2验证错误样式
这里是我的形式的一个例子,有一个验证错误:
的字段使用下面的HTML:
<div class="registration-field">
<label>FullName</label><%= Html.TextBoxFor(x => x.FullName) %>
<%= Html.ValidationMessageFor(x => x.FullName)%>
</div>
的问题是,展现跨越亮点整个元素,我需要将CSS类“registration-field-error”添加到第一个div。
<div class="registration-field registration-field-error">
<label>FullName</label><%= Html.TextBoxFor(x => x.FullName) %>
<%= Html.ValidationMessageFor(x => x.FullName)%>
</div>
注册场错误的CSS是:
.registration-field-error
{
background-image:url(../Content/Images/box-background-error.png);
background-repeat:repeat-y;
}
我可以做一些复杂的逻辑来检查的ViewState的错误,工作正常进行服务器验证错误,而不是客户端 - 端验证:
<% if (ViewData.ModelState["FullName"] == null) { %>
<div class="registration-field">
<% } else { %>
<div class="registration-field registration-field-error">
<% } %>
我首先想到的是让一个新的HTML辅助,以决定是否应该使用注册场错误类:
<%= Html.FormFieldFor(x => x.FullName, ViewData.ModelState) %>
然后编辑MicrosoftMvc.Ajax.js脚本以在检测到客户端验证错误时添加该类。
或者,有没有更好的方法来实现这一目标?
谢谢,这很好。我认为上面有一个错字,用if($(this).html()。length <1)。我认为它应该是长度> 1? – mfanto 2011-01-12 23:01:35