ASP.NET / MVC3 - 如何对复选框和数组执行验证?

时间:2011-03-25 07:03:44

标签: asp.net-mvc

我的模型中有这个字段。

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>

如果没有单击任何复选框,如何触发验证错误消息?我是否需要编写自定义验证器?

1 个答案:

答案 0 :(得分:0)

我怀疑你必须编写一个自定义验证器(这并不难,BTW;最大的挑战是包括客户端错误检查,但即使这并不难)。

另一种选择可能是尝试使用列表框。在Html中,那些具有多种选择能力。列表框验证器可能允许您至少需要一个值(我不确定,因为我还没有理由在我的MVC应用程序中使用经过验证的列表框)。