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