経由ボックスとにValidationSummaryを取り巻くこのようにHTMLを生成します。)は(デフォルトHtml.ValidationSummaryではCSS
<span class="validation-summary-errors">There were some errors...</span>
<ul class="validation-summary-errors">
<li>First Name too long</li>
<li>Invalid Email Address</li>
</ul>
私は、全体の検証の概要を選択して、CSSを経由して、その周りにバウンディングボックスを追加したいです、
.validation-summary-errors{
background-color:#D9FFB2;
border: 1px solid #5CBA30;
color:#000000;
margin-top:15px;
margin-bottom:15px;
}
これで、検証サマリーメッセージと各エラーメッセージの周りに別々のボックスが表示されるという問題があります。確かに私が心に持っていたものではありません。
私はこのような要約を中心にdiv要素を追加することができますが、検証エラーがない場合、これは空の赤いボックスになりますので、これは方法ではありません。
<div class="my-validation-summary">
<h2>
<%=Model.Message%>
</h2>
<%= Html.ValidationSummary("There were some errors...")%>
</div>
、私はいくつか考えることができますこれを解決する方法は:
- は自分のHtmlHelperのラッパー番目を書くjQueryの
- を経由して、境界のdivを追加し、サーバー側のタグで条件付き境界div要素を追加します。 at CSSに優しい検証サマリーを印刷します
しかし、これらのすべては、このような単純なタスクを解決するのはかなり厄介です。これを行うにはより良い方法が必要です。おそらく、CSSクラスを書く他の方法のように、検証の要約がないときに空のボックスを取得しないでしょうか?
編集:編集2
<%=Html.ValidationSummary("There were some errors...") %>
:だけ明確にする、私はこのようなHTMLヘルパーを呼び出していますこの質問の範囲は、私が死んで、簡単に何かを見落としているかどうかを確認することでしたし、明らかです。私はそうしていないようですので、自分のニーズに合った独自のHtmlHelper関数を追加します。私は自分の質問を閉じるために投票しています。ここで
妥当性検査の概要コントロールを一度カスタマイズしましたか?あなたが投稿したのと同じ方法で、デフォルトではレンダリングされません。 – RSolberg
いいえ、私はちょうどoverload ValidationSummaryメソッドを使用しています(上の最初の編集を参照してください) - Adrian Grigore 13秒前 –
私はMVCソースが利用できる方法が好きです - それを開いて、あなた自身で書いてください。幸運 –