2

我正在尝试对一组复选框实施所需的验证。基本上需要检查其中一个,并且复选框的数量是动态的。我对下面的代码并不完全有信心,我开始假设我可能需要使用 Javascript。我认为代码最能说明问题。

HTML:

       @for (var i = 0; i < Model.Sessions.Count(); i++ )
    {
        @Html.HiddenFor(it => it.Sessions[i].Id)
        @Html.LabelFor(it => it.Sessions[i].Name, Model.Sessions[i].Name)
        @Html.CheckBoxFor(it => it.Sessions[i].Checkbox)
    }
    @Html.ValidationMessageFor(model => model.Sessions)

C#(视图模型):

    [NotNull]
    [GlobalisedRequired]
    public virtual List<CheckBoxModel> Sessions { get; set; }
4

1 回答 1

1

而不是RequiredAttribute(您将始终从复选框中获取值),您应该使用自定义验证器,如下所述:

您将如何验证 ASP.Net MVC 2 中的复选框?

然后将 [BooleanRequiredToBeTrue] 属性添加到 CheckBoxModel 类中的 Checkbox 属性。

当然,您可以使用 javascript 客户端验证,但服务器端的验证也是必要的。

于 2012-06-06T13:23:07.357 回答