2011-05-06 5 views
2

MVCにテンプレートを使用して多くのことができるようになりました。どんなルールやその偉大さにも基づいて、あらゆるモデルのフィールドのUI表現を上書きすることができます。しかし、なぜ私は検証メッセージのために同じことをすることができませんでした、私はそれが開発者にもっと柔軟性とconvienceを与えると思います。また、それはMVCのHTMLコードテンプレートの一般的な実装から転用され、Template for ValidationMessage

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

しかし限り、私はまたValidationMessageForをオーバーライドする必要があり、このいずれかで:私は、私はちょうどこのように拡張メソッドのオーバーライドを使用することができます知っています。

質問:この種の問題を解決するのがベストプラクティスですか?

ありがとうございます!

+0

エラーのテキストを変更するだけですか? ValidationMessageをオーバーライドすることで達成したいのは正確です。 – Dmitry

答えて

1

ValidationMessageFor要素をカスタマイズする必要があるときに、CSSを使用してレンダリングされたタグをターゲットにしました。

「EditorFor」と「DisplayFor」がそれぞれ必要なEditorTemplatesとDisplayTemplatesは私が知っている唯一のテンプレートです。 ValidationMessageForはハードコードされています。

私はいくつかの投稿herehereを見つけました。あなた自身の方法を書くのに役立ちます。