>백엔드 개발 >C++ >IValidatableObject를 사용하여 ASP.NET MVC에서 조건부 유효성 검사를 구현하는 방법은 무엇입니까?

IValidatableObject를 사용하여 ASP.NET MVC에서 조건부 유효성 검사를 구현하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-08 17:43:10704검색

How to Implement Conditional Validation in ASP.NET MVC Using IValidatableObject?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.