Как использовать аннотации данных для условной проверки модели?
Например, допустим, у нас есть следующая модель (человек и старший):
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)%>
Я хотел бы быть условным обязательным полем свойства "Senior.Description" на основе выбора свойства "IsSenior" (true -> обязательно). Как реализовать условную проверку в ASP.NET MVC 2 с аннотациями данных?
Senior
Объект всегда старший, так почему IsSenior может быть ложным в этом случае. Разве вам не нужно, чтобы свойство Person.Senior было нулевым, когда оно Person.IsSenior
равно false. Или почему бы не реализовать IsSenior
имущество следующим образом : bool IsSenior { get { return this.Senior != null; } }
.