ValidationMessage があるかどうかを知る必要があります。
エラーメッセージに "タグを追加したいからです。
お気に入り
@if (Html.ValidationMessageFor(m => m.UserId)){
Html.ValidationMessageFor(m => m.UserId) + "<br />
}
上記のコードは機能しません。
ありがとうございました!
ValidationMessage があるかどうかを知る必要があります。
エラーメッセージに "タグを追加したいからです。
お気に入り
@if (Html.ValidationMessageFor(m => m.UserId)){
Html.ValidationMessageFor(m => m.UserId) + "<br />
}
上記のコードは機能しません。
ありがとうございました!
その特定のエラーについて ModelState を確認する必要があります。例えば:
@if (ModelState["UserId"].Errors.Count > 0) {
Html.ValidationMessageFor(m => m.UserId) @:<br/>
}
ただし、どこにでもあると、これは本当に醜くなる可能性があります。これを頻繁に行う必要がある場合は、カスタム Html ヘルパー拡張機能を作成します。
検証メッセージにマークアップを追加する必要がある場合は、カスタムマークアップを作成することをお勧めします。新しいヘルパーを作成し、そのロジックをヘルパー自体にカプセル化するだけです。
以下のような何か
public MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression)
{
//your logic here
}
あなたの質問は非常に不明確です。達成したいことを明確にしてください。
エラーがある場合は表示し、ない場合は表示しない場合は、Mystere Man が提案するような別の "if()" ロジックを記述する必要はありません。
Html.ValidationMessageFor(m => m.UserId)
css html によって適切にフォーマットされ、検証に必要なスクリプトへのすべての適切な参照があるだけで、うまくいきます。
<br>
適切にフォーマットされた html とは、div タグの入力の横に検証ブロックを配置して、新しい行に s を付ける必要がないようにすることを意味します。