2010-10-04 59 views
0

我有一個自定義編輯模板基本上是:MVC2自定義編輯模板外驗證框

<div id="control"> 
<%: Html.DropDownListFor(model => model.Day, Model.Days)%> 
<%: Html.DropDownListFor(model => model.Month, Model.Months)%> 
<%: Html.DropDownListFor(model => model.Year, Model.Years)%> 
</div> 

雖然我的驗證是成功的/精細與此控件(ValidationMessageFor作品),我一直無法找到如何當驗證失敗時突出顯示控件(例如,使用TextBoxFor文本框邊框變紅,如果驗證失敗)

有誰知道我可以如何使用自定義編輯器模板添加此行爲嗎?

回答

1

有趣的問題。如果您可以檢測到驗證錯誤,那麼您應該能夠應用適當的類。像這樣的事情,替代在你自己的字段名稱:

<div id = "control" class="<%=ViewData.ModelState.IsValidField("DateField") ? "" : "validation-error" %>"> 
+0

乾杯,正是我以後的行爲(雖然我用ViewData.ModelState.IsValid涵蓋整個控制而非單個字段) – 2010-10-04 12:14:28