데이터 주석을 사용하여 모델에서 조건부 유효성 검사를 수행하는 방법은 무엇입니까?
예를 들어 다음과 같은 모델 (개인 및 시니어)이 있다고 가정 해 보겠습니다.
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)%>
"IsSenior"속성 선택 (true-> 필수)에 따라 "Senior.Description"속성 조건부 필수 필드가되고 싶습니다. 데이터 주석을 사용하여 ASP.NET MVC 2에서 조건부 유효성 검사를 구현하는 방법은 무엇입니까?
Senior
객체는 항상 선배, 왜 IsSenior는이 경우에 거짓이 될 수 있습니다. Person.IsSenior
false 인 경우 'Person.Senior'속성이 null이 아니어야 합니다. 또는 IsSenior
다음과 같이 속성을 구현하지 않는 것이 bool IsSenior { get { return this.Senior != null; } }
좋습니다..