Ich verstehe, dass dies IValidatableObject
verwendet wird, um ein Objekt so zu validieren, dass man Eigenschaften miteinander vergleichen kann.
Ich hätte gerne noch Attribute zum Überprüfen einzelner Eigenschaften, möchte aber in bestimmten Fällen Fehler bei einigen Eigenschaften ignorieren.
Versuche ich es im folgenden Fall falsch zu verwenden? Wenn nicht, wie implementiere ich das?
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.
*/
}
}
}