2012-01-04 22 views
1

私はのように私のフォームに入力の検証メッセージを書いた場合、だから、「フィールド検証エラー」クラスMVC 3オーバーライド検証メッセージのCSS

あるバリデータのデフォルトの検証CSSクラスを上書きしようとしています以下:

@Html.ValidationMessageFor(m=>m.Name) 

その後MVCランタイムは、以下のように、デフォルトではメッセージのスパンのクラスを設定している:

<span class="field-validation-error" data-valmsg-replace="true" data-valmsg-for="Name"> 

私の質問があり、私はCSSクラス「フィールド-VALIDAを削除する方法私のアプリケーションのいくつかの領域でのみ使用する別のクラス(私のバージョン)に置き換えてください。

答えて

3

[OK]をクリックします。根本的なCSSファイルの "form-field-validation-error"としてベースの "field-validation-error"クラスを設定することで、あなたが見ることができるように

<span class="field-validation-error NewCssClass" data-valmsg-replace="true" data-valmsg-for="Name"> 

@Html.ValidationMessageFor(m=>m.Name, new { @class ="NewCssClass"}) 

これは、以下のマークアップを生成します:HTMLが生成され、その後、私の見解では、私は新しいCSSクラスを含める場合は、以下に述べたように、最も高い優先順位を持つことになりますNewCssClassは、デフォルトの検証stを上書きします。

乾杯...返信用

+2

そこに2番目のパラメータがありませんか?私が間違っていれば私を修正してください。 – Naresh

0

編集してみてください。私はMVCソースから遠くまで読んでいませんでした。ちょうど拡張メソッドのソースを読んでください。変更するオプションなしでthose fields are static readonlyが表示されます。セットのクラス名を使用してと

  1. ディール:

    ので、次の2つの選択肢の一つで立ち往生しています。

  2. 独自の拡張メソッドを書くか、MVCソースからjust copy themを簡単に書き換えて名前を変更します。
+0

おかげで、事はHtmlHelper.ValidationInputCssClassNameですが...「フィールド検証エラー」クラスで指定さYLEは読み取り専用フィールドであり、あなたのビューから設定することはできません? ?... – NiK

+0

ソースをもっと読んで、私の答えを修正しました。しかし理想よりも小さい。 – Leniency

+0

私はオプションCが好きです:MVC検証を使用しないでください! – Roger

関連する問題