Моя проблема чем-то похожа на эту проблему Пользовательская проверка группы флажков
У меня есть группа флажков в представлении (New.cshtml), которые отображаются с использованием «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 флажок установлен для регионов. Я бы подумал, что «Обязательно» выполнит эту работу, но, видимо, нет. Нужно ли мне писать собственный валидатор, чтобы это работало?
Спасибо.