Tôi hiểu rằng nó IValidatableObject
được sử dụng để xác nhận hợp lệ một đối tượng theo cách cho phép một người so sánh các thuộc tính với nhau.
Tôi vẫn muốn có các thuộc tính để xác thực các thuộc tính riêng lẻ, nhưng tôi muốn bỏ qua các lỗi trên một số thuộc tính trong một số trường hợp nhất định.
Tôi đang cố gắng sử dụng nó không chính xác trong trường hợp dưới đây? Nếu không làm thế nào để tôi thực hiện điều này?
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.
*/
}
}
}