Также я бы предпочел иметь логику проверки в классе ВМ.
IDataErrorInfo
также применяется к модели представления.Если вы открываете модели данных непосредственно для представления, то, во-первых, вы делаете это неправильно.
Возможно, есть некоторые фреймворки, если вы ищете их, но нет ничего более встроенного, чемметоды проверки, которые вы уже знаете (IDataErrorInfo).