2

検証が失敗したときに、できればモデル内から、jQueryやControllerではなく、パブリックIEnumerable Validate(ValidationContext context)オーバーライドで、cssクラスをhtmlラベルに追加する簡単な方法はありますか?

失敗した入力の横に*を付けて、ラベルテキストを太字と赤にしたいというエラーメッセージを表示するvalidationsummaryがあります。

    @Html.LabelFor(model => model.Name)
    <div class="editor-field">
        @Html.EditorFor(model => model.Name)<br/><br />
    </div>
4

2 に答える 2

1

まだ解決策が見つからない場合は、http: //weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with-htmlattributes.aspxを参照してください。

これは、html属性をサポートするLabelForのHTMLヘルパー拡張機能をコーディングします。このコードをテンプレートとして使用して、ニーズに合わせて変更できます。1つのオプションは、検証エラーが発生したかどうかを検出することです。数日前、私は似たようなものを書きました:

    public static string IsInvalidFor<TModel, TValue>(
        this HtmlHelper<TModel> htmlHelper,            
        Expression<Func<TModel, TValue>> expression, 
        string cssErrorClass)
    {
        if (ValidationExtensions.ValidationMessageFor(htmlHelper, expression) != null) 
             return cssErrorClass;
        else return "";
    }
于 2012-07-19T14:16:12.940 に答える
0

.csファイルでそれを行いたい場合この場合のモデルはこれを追加するだけです

            string name = //ur name property//;
            oppdesc = "";               
            oppdesc += "<span class ="error"+ "\">" +      name+ "</span>";

そしてuは、クラスエラーをurcssで太字と赤で定義します。

于 2012-04-04T07:47:50.603 に答える