Ненавязчивая проверка C # MVC Razor
Можно ли провести ненавязчивую проверку, чтобы сделать поле обязательным, но только в случае изменения других свойств?
Например
[Required]
public Decimal Income {get; set;}
[Required]
public Decimal Tax {get; set;}
//Required if tax or income changes
public string ChangeReason {get; set;}
Я думал о том, чтобы иметь несколько полей для хранения резервных копий и написать собственный валидатор, чтобы сравнить их, но подумал, есть ли у кого-нибудь лучшее предложение?