0

ValidationMessage があるかどうかを知る必要があります。
エラーメッセージに "タグを追加したいからです。

お気に入り

@if (Html.ValidationMessageFor(m => m.UserId)){
 Html.ValidationMessageFor(m => m.UserId) + "<br />
}

上記のコードは機能しません。

ありがとうございました!

4

3 に答える 3

2

その特定のエラーについて ModelState を確認する必要があります。例えば:

@if (ModelState["UserId"].Errors.Count > 0) {
    Html.ValidationMessageFor(m => m.UserId) @:<br/>
}

ただし、どこにでもあると、これは本当に醜くなる可能性があります。これを頻繁に行う必要がある場合は、カスタム Html ヘルパー拡張機能を作成します。

于 2012-05-21T20:56:54.277 に答える
1

検証メッセージにマークアップを追加する必要がある場合は、カスタムマークアップを作成することをお勧めします。新しいヘルパーを作成し、そのロジックをヘルパー自体にカプセル化するだけです。

以下のような何か

   public MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
    {
         //your logic here

     }
于 2012-05-21T20:52:40.830 に答える
0

あなたの質問は非常に不明確です。達成したいことを明確にしてください。

エラーがある場合は表示し、ない場合は表示しない場合は、Mystere Man が提案するような別の "if()" ロジックを記述する必要はありません。

Html.ValidationMessageFor(m => m.UserId)css html によって適切にフォーマットされ、検証に必要なスクリプトへのすべての適切な参照があるだけで、うまくいきます。

<br>適切にフォーマットされた html とは、div タグの入力の横に検証ブロックを配置して、新しい行に s を付ける必要がないようにすることを意味します。

于 2012-05-21T22:18:05.657 に答える