2011-05-06 103 views
2

MVC現在包含很多可以使用模板進行渲染的內容,您可以根據任何規則和其優勢覆蓋任何模型字段的UI表示。但爲什麼我不能對驗證消息做同樣的事情,我想這會給開發人員更多的靈活性和易用性。我知道我可以使用的擴展方法壓倒一切就像這樣:驗證消息模板

public static MvcHtmlString ValidationMessage(this HtmlHelper Html, string Model) 
    { 
    return System.Web.Mvc.Html.ValidationExtensions.ValidationMessage(Html, Model); 
    } 

但只要這一個我也應該覆蓋ValidationMessageFor,也是它不同於一般的執行HTML代碼模板爲MVC的轉移。

問題:這是解決此類問題的最佳實踐嗎?

謝謝!

+0

你想修改錯誤文本嗎?你想通過重寫ValidationMessage來達到什麼目的? – Dmitry 2012-01-17 16:49:00

回答

1

當我需要自定義ValidationMessageFor元素時,我使用css來定位呈現的標記。

我知道的唯一模板是EditorTemplates和DisplayTemplates--分別需要「EditorFor」和「DisplayFor」。 ValidationMessageFor是硬編碼的。

我找到了一些文章herehere,這應該可以幫助你編寫自己的方法。