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