나는 이해 IValidatableObject
속성을 서로 비교할 수있는 방식으로 객체의 유효성을 검사하는 데 사용 .
개별 속성의 유효성을 검사하는 특성을 계속 갖고 싶지만 특정 경우에 일부 속성의 실패를 무시하고 싶습니다.
아래의 경우에 잘못 사용하려고합니까? 그렇지 않으면 어떻게 구현합니까?
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)
{
/* Return valid result here.
* I don't care if Prop1 and Prop2 are out of range
* if the whole object is not "enabled"
*/
}
else
{
/* Check if Prop1 and Prop2 meet their range requirements here
* and return accordingly.
*/
}
}
}