2010-03-25 35 views

回答

0

模型級驗證表示默認的Mvc綁定器不知道您正在驗證的屬性。

Asp.net Mvc不支持顯示模型級別的錯誤並突出顯示驗證器視圖上的屬性。

我可能會做這樣的事情,以達到視覺效果

<%var passwordCssClass = ViewData.ModelState["Key"] != null && ViewData.ModelState["Key"].Errors.Any() ? "model-error" : string.Empty; %> 
<%= Html.PasswordFor(x => x.Password, new { @class = passwordCssClass })%> 
<%= Html.PasswordFor(x => x.PasswordConfirm, new { @class = passwordCssClass })%> 

你得檢查ModelState中的該ModelBinder的使用爲模型級驗證錯誤的關鍵。用上面的代碼替換上面的「Key」,然後把css類改成w/e,這樣你的錯誤就可能出現錯誤。

這不是生產級別的代碼,您需要調整Any()並確保它是您正在尋找的正確的錯誤消息,甚至可能在控制器中移動此邏輯並提供CssClass視圖它應該通過你的模型來使用。但它應該有希望讓你走。

相關問題