mvcモデル検証エンジンを使用すると、HTMLヘルパーメソッドによって生成された特定のcssクラスがSite.cssからエディターに自動的に追加されます。つまり、特定のオブジェクトに対するこれらの1つ:
.field-validation-error
{
color: #ff0000;
}
.field-validation-valid
{
display: none;
}
.input-validation-error
{
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.validation-summary-errors
{
font-weight: bold;
color: #ff0000;
}
.validation-summary-valid
{
display: none;
}
これらのスタイルを確実に編集して、必要なスタイルを適用することができます。
しかし、モデル検証エンジンに、ユーザーの要件に応じてどの正確なスタイルを使用するかを指示する機会があります。これにより、異なるフィールドを持つ1つのページを異なるスタイルにすることができますか?
編集
次のビューがあるとします。
@model ModelValidation.Models.Appointment
@{
ViewBag.Title = "Make a Booking";
}
<h2>
Book an Appointment</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<p>
@Html.LabelFor(m => m.ClientName, "Your name: ") @Html.EditorFor(m => m.ClientName)
@Html.ValidationMessageFor(m => m.ClientName)
</p>
<p>
@Html.LabelFor(m => m.Date, "Appointment Date: ") @Html.EditorFor(m => m.Date)
@Html.ValidationMessageFor(m => m.Date)
</p>
<p>
@Html.EditorFor(m => m.TermsAccepted) @Html.LabelFor(m => m.TermsAccepted, "I accept the terms & conditions")
@Html.ValidationMessageFor(m => m.TermsAccepted, null, new { @class = "other-input-validation-error" })
</p>
<input type="submit" value="Make Booking" />
}
オーバーロードを使用@Html.ValidationMessageFor
すると、cssクラスを指定してエラーメッセージのスタイルを設定できます。しかし、エディターのcssクラスをどのように指定できますか?