Bagaimana cara menggunakan anotasi data untuk melakukan validasi bersyarat pada model?
Misalnya, katakanlah kita memiliki model berikut (Orang dan 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;
}
}
Dan tampilan berikut:
<%= 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)%>
Saya ingin menjadi bidang persyaratan bersyarat properti "Senior.Description" berdasarkan pemilihan kelayakan "IsSenior" (benar -> wajib). Bagaimana cara menerapkan validasi bersyarat dalam ASP.NET MVC 2 dengan anotasi data?
Senior
objek selalu senior, jadi mengapa IsSenior dapat palsu dalam kasus itu. Jangan Anda hanya perlu properti 'Person.Senior' menjadi nol ketika Person.IsSenior
salah. Atau mengapa tidak menerapkan IsSenior
properti sebagai berikut: bool IsSenior { get { return this.Senior != null; } }
.