Bunun IValidatableObject
bir nesneyi özellikleri birbirleriyle karşılaştırmasını sağlayacak şekilde doğrulamak için kullanıldığını anlıyorum .
Yine de bireysel özellikleri doğrulamak için niteliklere sahip olmak istiyorum, ancak bazı durumlarda bazı özelliklerde başarısızlıkları yoksaymak istiyorum.
Aşağıdaki durumda yanlış mı kullanmaya çalışıyorum? Değilse, bunu nasıl uygularım?
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.
*/
}
}
}