当我们使用 mvc 模型验证引擎时,它会自动将 Site.css 中的某些 css 类添加到编辑器中,由 HTML 辅助方法生成;即其中一个用于某些对象:
.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;
}
我们当然可以编辑这些样式以应用所需的样式。
但是有没有机会告诉模型验证引擎,根据任何用户要求使用什么确切的样式,以便我们可以拥有一个具有不同字段的页面,不同的样式?
编辑
假设我们有以下观点:
@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 类呢?