親クラスと子クラスがあり、親には子クラスのタイプのメンバーが1つあります。子クラスを再利用可能にしたいので、両方のクラスが IValidatableObject を継承し、独自のプロパティを検証します。
public class Parent : IValidateable
{
Public ChildClass Child {get; set;}
Public bool ValidateChild {get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
}
}
public class Child : IValidatable
{
Public string Name {get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
//This shouldn't fire if parent.ValidateChild is false
}
}
問題は、ValiddateChild プロパティが true の場合にのみ、親クラスの子クラス プロパティを検証する必要があることです。
ValidateChild が false のときに子オブジェクトが検証されないようにするにはどうすればよいですか?