Моя проблема в чем-то похожа на эту проблему Выборочная проверка группы флажков
У меня есть группа флажков в представлении (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" />
}
Шаблон редактора для регионов находится в \ 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 флажок установлен в отношении регионов. Я бы подумал, что «Обязательно» сделает эту работу, но, очевидно, нет. Мне нужно написать собственный валидатор, чтобы сделать эту работу?
Спасибо.