IValidatableObject를 사용하여 ASP.NET MVC에서 조건부 유효성 검사 구현
조건부 검증을 사용하면 모델의 특정 조건을 기반으로 검증 규칙을 지정할 수 있습니다. ASP.NET MVC에서 데이터 주석은 이러한 규칙을 정의하는 간단한 방법을 제공하지만 보다 복잡한 조건부 시나리오에 대한 유연성이 부족합니다.
"IsSenior" 속성 선택에 따라 "Senior.Description" 속성을 조건부로 요구하려는 다음 모델과 뷰를 고려하세요.
<code class="language-csharp">public class Person : IValidatableObject { [Required] public string Name { get; set; } public bool IsSenior { get; set; } public Senior Senior { get; set; } public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { if (IsSenior && string.IsNullOrEmpty(Senior.Description)) yield return new ValidationResult("必须提供描述。"); } }</code>
ASP.NET MVC 3 이상에서는 IValidatableObject 인터페이스를 활용하고 Validate 메서드를 구현하여 조건부 유효성 검사를 보다 효율적으로 처리할 수 있습니다. Validate 메서드에서는 조건부 규칙을 지정하고 유효성 검사 실패에 대해 ValidationResult 개체를 반환할 수 있습니다.
코드 조각에 표시된 것처럼 Validate 메서드를 구현하면 "IsSenior" 속성이 true로 설정된 경우 "Senior.Description" 속성이 필요한 조건부 유효성 검사 규칙을 효과적으로 추가할 수 있습니다. 이 접근 방식은 ASP.NET MVC 응용 프로그램에서 조건부 유효성 검사를 구현하는 더 명확하고 유연한 방법을 제공합니다.
위 내용은 IValidatableObject를 사용하여 ASP.NET MVC에서 조건부 유효성 검사를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!