1
我的问题有点类似这个问题Custom Validation on group of checkboxes“必要”数据标注不工作的一组复选框的
我有一组复选框在视图(New.cshtml),其使用呈现“ParentObject”作为视图模型
ParentObject.cs: -
public class ParentObject
{
[Required]
public IEnumerable<RegionObject> Regions { get; set; }
}
New.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" />
}
的地区编辑模板位于\查看\共享\ 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; }
}
为什么是 '必要' “Regions”上的数据注解不起作用?我想确保至少有一个复选框是针对区域选择的。我会认为'必需的'会做这项工作,但显然不是。我是否需要编写一个自定义验证器来完成这项工作?
谢谢。
这正是我一直在问我自己来怎么会明白选择,包括至少一个区域的业务规则。我花时间使用自我验证模型进行这项工作,并且使用自定义验证属性对我来说不会发生。谢谢你的帮助。 – Reee