Saya mengerti bahwa IValidatableObject
ini digunakan untuk memvalidasi objek dengan cara yang memungkinkan satu membandingkan properti terhadap satu sama lain.
Saya masih ingin memiliki atribut untuk memvalidasi properti individual, tetapi saya ingin mengabaikan kegagalan pada beberapa properti dalam kasus tertentu.
Apakah saya mencoba menggunakannya secara tidak benar dalam kasus di bawah ini? Jika tidak, bagaimana saya menerapkan ini?
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.
*/
}
}
}