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