我的模型中有这个字段。
class AddUserModel
{
// ....other fields
[Required(ErrorMessage = "Please select at least one role.")]
public string[] Roles { get; set; }
}
在视图中,这将呈现为复选框列表:
<div class="editor-field">
@Html.ValidationMessageFor(model => model.Roles)
<ul class="list_roles">
@foreach (string role in ViewBag.PossibleRoles)
{
<li><input type="checkbox" name="Roles" value="@role" />@role</li>
}
</ul>
</div>
如果没有单击任何复选框,如何触发验证错误消息?我是否需要编写自定义验证器?
答案 0 :(得分:0)
我怀疑你必须编写一个自定义验证器(这并不难,BTW;最大的挑战是包括客户端错误检查,但即使这并不难)。
另一种选择可能是尝试使用列表框。在Html中,那些具有多种选择能力。列表框验证器可能允许您至少需要一个值(我不确定,因为我还没有理由在我的MVC应用程序中使用经过验证的列表框)。