Model üzerinde koşullu doğrulama yapmak için veri açıklamaları nasıl kullanılır?
Örneğin, aşağıdaki modele sahip olduğumuzu varsayalım (Kişi ve Yaşlı):
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;
}
}
Ve aşağıdaki görünüm:
<%= 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" özelliğinin seçimine dayalı olarak "Senior.Description" özelliği koşullu zorunlu alan olmak istiyorum (true -> gerekli). Veri ek açıklamalarıyla ASP.NET MVC 2'de koşullu doğrulama nasıl uygulanır?
Seniornesne her zaman kıdemli bir nesnedir, öyleyse bu durumda IsSenior neden yanlış olabilir? Person.IsSeniorFalse olduğunda sadece 'Person.Senior' özelliğinin boş olması gerekmez mi ? Ya da IsSeniorözelliği neden aşağıdaki gibi uygulamıyorsunuz bool IsSenior { get { return this.Senior != null; } }?