我的问题有点类似于这个问题Custom Validation on group of checkboxes
我在视图(New.cshtml)中有一组复选框,它们使用“ParentObject”作为视图模型呈现
ParentObject.cs :-
public class ParentObject
{
[Required]
public IEnumerable<RegionObject> Regions { get; set; }
}
新的.cshtml :-
@model ParentObject
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()){
@Html.LabelFor(model => model.Regions)
@Html.EditorFor(model => model.Regions)
@Html.ValidationMessageFor(model => model.Regions)
<input type="submit" title="Create new parent object" class="button btn67" value="Create" />
}
区域的编辑器模板位于 \Views\Shared\EditorTemplates\RegionObject.cshtml 中,如下所示
@model RegionObject
<p>
@Html.CheckBoxFor(m => m.IsChecked)
@Html.HiddenFor(m => m.Code)
@Html.DisplayFor(m => m.Name)
</p>
RegionObject 视图模型是:
public class RegionObject
{
public Guid Code { get; set; }
public string Name { get; set; }
public bool IsChecked { get; set; }
}
为什么“区域”上的“必需”数据注释不起作用?我想确保针对区域选择了至少 1 个复选框。我原以为“必需”可以完成这项工作,但显然不是。我需要编写一个自定义验证器来完成这项工作吗?
谢谢。