IvalidatableObject에서 조건부 검증을 구현하십시오. 속성 -레벨 특성 및 장면 -기반 무시
. >> 질문 :나는 속성을 비교할 때 를 객체 검증에 사용할 수 있다는 것을 알고 있습니다. 그러나 속성을 사용하여 단일 속성을 확인하고 일부 시나리오에서 특정 속성을 무시하고 싶습니다. 아래의 구현이 틀 렸습니까? 답변 :
필요한 조건을 구현하기 위해
는 를 사용합니다. 확인이 실패한 경우에만 확인 결과가
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!