フォームの検証に失敗した場合、このdivを表示します。検証に失敗した場合にdivを表示
<div class="alert">
<strong>Warning!</strong> @Html.ValidationSummary(false, "Fix these errors:")
</div>
私は
if(! ViewData.ModelState.IsValid)
内側に包ましようとしましたが、フォームを送信する際のdivは表示されません。おそらく、jqueryの正当な検証のためのポストバックがないからです。 if文の検証要約リストをすべて削除して、すべての誤った入力フィールドを削除しても、検証ロジックは問題ないようです。
検証に基づいてdivの表示を切り替えるにはどうすればよいですか?
あなたの回避策は、私がそれを正当化したために正しいユーザーエクスペリエンスを持っています。しかし、私は何かが欠けているように感じます。フォームが完了する前に '(これらのエラーを修正する)'エラーメッセージを出力したい人。 '@ Html.ValidationSummary'のような感じは、それに可視性の仕組みをトグルする必要があります。 – dbd
True。しかし、単にdivで@ Html.ValidationSummaryをラップしないと、必要なときまでそれ自身を隠すでしょう... –
本当ですか?私がバリデーションを開始したとき、私はdivで何もせずに '@ Html.ValidationSummary'を残しました。そして、テキスト' Fix these errors'が最初からあります。 – dbd