Validación discreta C # MVC Razor
¿Es posible tener una validación discreta para hacer que un campo sea obligatorio pero solo si otras propiedades cambian?
Por ejemplo
[Required]
public Decimal Income {get; set;}
[Required]
public Decimal Tax {get; set;}
//Required if tax or income changes
public string ChangeReason {get; set;}
Pensé en tener varios campos de la tienda de respaldo y escribir un Validador personalizado para compararlos, pero me pregunté si alguien tenía una mejor sugerencia.