对插入 for 循环的复选框进行必需验证
本文关键字:验证 复选框 插入 for 循环 | 更新日期: 2023-09-27 18:36:31
我正在尝试对一组复选框实现所需的验证。基本上需要选中其中一个,并且复选框的数量是动态的。我对下面的代码不太有信心,我开始假设我可能需要使用 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; }
而不是 RequiredAttribute(您将始终从复选框中获取值),您应该使用自定义验证器,如下所述:
您将如何验证 MVC 2 ASP.Net 复选框?
然后将 [BooleanRequiredToBeTrue] 属性添加到 CheckBoxModel 类中的 Checkbox 属性。
当然,您可以使用javascript客户端验证,但是服务器端的验证也是必要的。