>백엔드 개발 >C++ >속성 수준 속성 및 시나리오 기반 무시와 함께 IvalidatableObject에서 조건부 검증을 구현하는 방법은 무엇입니까?

속성 수준 속성 및 시나리오 기반 무시와 함께 IvalidatableObject에서 조건부 검증을 구현하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-28 11:36:09532검색

IvalidatableObject에서 조건부 검증을 구현하십시오. 속성 -레벨 특성 및 장면 -기반 무시 How to Implement Conditional Validation in IValidatableObject with Property-Level Attributes and Scenario-Based Ignoring?

. >> 질문 :

나는 속성을 비교할 때 를 객체 검증에 사용할 수 있다는 것을 알고 있습니다. 그러나 속성을 사용하여 단일 속성을 확인하고 일부 시나리오에서 특정 속성을 무시하고 싶습니다. 아래의 구현이 틀 렸습니까? 답변 :

필요한 조건을 구현하기 위해 가 제공 한 구현을 개선 할 수 있습니다. 다음은 대안적인 방법입니다 :

는 를 사용합니다. 확인이 실패한 경우에만 확인 결과가 실행 검증 :

to 속성의 속성 만 확인하여 IValidatableObject 메소드 처리 조건을 확인할 수 있도록 설정할 수 있습니다. 이 개정 된 답변 메인 테인은 원본 이미지를 제공하고 코드 예제에 대한보다 간결하고 정확한 설명을 제공하며,
<code class="language-csharp">public class ValidateMe : IValidatableObject
{
    [Required]
    public bool Enable { get; set; }

    [Range(1, 5)]
    public int Prop1 { get; set; }

    [Range(1, 5)]
    public int Prop2 { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (!this.Enable)
        {
            // 在此处返回有效结果。
            // 如果整个对象未“启用”,我不关心 Prop1 和 Prop2 是否超出范围
        }
        else
        {
            // 在此处检查 Prop1 和 Prop2 是否满足其范围要求
            // 并相应地返回。
        }
    }
}</code>
의 목적을 분류합니다 >

위 내용은 속성 수준 속성 및 시나리오 기반 무시와 함께 IvalidatableObject에서 조건부 검증을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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