データ注釈を使用してモデルの条件付き検証を行う方法は?
たとえば、次のモデル(PersonとSenior)があるとします。
public class Person
{
[Required(ErrorMessage = "*")]
public string Name
{
get;
set;
}
public bool IsSenior
{
get;
set;
}
public Senior Senior
{
get;
set;
}
}
public class Senior
{
[Required(ErrorMessage = "*")]//this should be conditional validation, based on the "IsSenior" value
public string Description
{
get;
set;
}
}
そして次のビュー:
<%= Html.EditorFor(m => m.Name)%>
<%= Html.ValidationMessageFor(m => m.Name)%>
<%= Html.CheckBoxFor(m => m.IsSenior)%>
<%= Html.ValidationMessageFor(m => m.IsSenior)%>
<%= Html.CheckBoxFor(m => m.Senior.Description)%>
<%= Html.ValidationMessageFor(m => m.Senior.Description)%>
「IsSenior」プロパティの選択に基づいて、「Senior.Description」プロパティの条件付き必須フィールドになりたい(true->必須)。データアノテーションを使用してASP.NET MVC 2に条件付き検証を実装する方法
Senior
オブジェクトは常に先輩ですので、なぜIsSeniorは、その場合の偽することができます。Person.IsSenior
がfalseの場合、「Person.Senior」プロパティをnullにする必要があるだけではありませんか。または、IsSenior
次のようにプロパティを実装しないのはなぜですかbool IsSenior { get { return this.Senior != null; } }
。