어떤 텍스트 필드에 값이 있는지에 따라 모델 유효성 검사와 관련된 문제가 있습니다.모델 데이터 유효성 검사
내보기에서public class Person
{
[DisplayName("Forename")]
[Required(ErrorMessage = "Please enter a forename")]
public string Forename { get; set; }
[DisplayName("Surname")]
[Required(ErrorMessage = "Please enter a surname")]
public string Surname { get; set; }
[DisplayName("Country")]
[Required(ErrorMessage = "Please enter a country")]
public string Country { get; set; }
[DisplayName("Phone Number")]
[Required(ErrorMessage = "Please enter a phone number")]
public string Phone { get; set; }
[DisplayName("Mobile Number")]
[Required(ErrorMessage = "Please enter a mobile number")]
public string Mobile { get; set; }
}
내가 표시 뒤따라야, 성이, 나라가 다음 코드를 사용하여 텍스트 필드와 같은 & 전화 :
@Html.LabelFor(x => x.Forename)
@Html.TextBoxFor(x => x.Forename)
@Html.ValidationMessageFor(x => x.Forename)
을 사용자가 전화 번호가없는 경우 나 간단한 모델을 가지고 버튼을 클릭하면 휴대 전화 번호에 대한 다른 텍스트 필드가 나타납니다. 그러면 "전화"텍스트 필드가 재설정됩니다. 사용자가 휴대폰 번호를 입력하고 양식을 제출하면 실패합니다. 다른 속성에 값이없는 경우 속성 유효성 만 검사하는 조건부 문을 내 모델 유효성 검사에 사용할 수 있습니까?
"모바일"에 값이 있지만 "전화"가 없다면 유효성 검사는 "모바일"의 유효성을 검사하지만 "전화"는 무시합니다. 마지막 문단이 충분히 명확하지 않은 경우 사과드립니다. 어떤 도움이라도 대단히 감사하겠습니다.
if (Condition)
{
ModelState.AddModelError("PropertyNameHere", "ErrorMessageHere");
}
아래
당신은 모델 IValidatableObject를 구현하고 거기 더 복잡한 검증을 가질 수있다. –