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?
Senior
nesne her zaman kıdemli bir nesnedir, öyleyse bu durumda IsSenior neden yanlış olabilir? Person.IsSenior
False 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; } }
?