Проверка относится к вашей бизнес-логике (модель домена).Я предлагаю взглянуть на FluentValidation для .NET.
Мне действительно повезло, когда установщик ViewModel вызвал базовый объект Model и позволил FluentValidation вызвать исключение.Если вы используете WPF TextBox, привязка будет продолжать работать, но TextBox покажет красный контур (при условии, что вы использовали синтаксис, в котором TextBox обновляет ViewModel при каждом нажатии клавиши).Только не бросайте исключение в получателе, иначе вы нарушите привязку.
Лучше направить все ваше общение от ViewModel к модели через некоторого посредника (я представил Presenter, но это может бытьтак же просто, как передача операции Model как лямбда-функции обратному вызову на некотором посреднике).Когда во время работы с моделью возникает исключение, докладчик ловит исключение и отображает дружественное сообщение для пользователя с подробностями из исключения.Для этого FluentValidation выдает действительно хорошие сообщения об ошибках по умолчанию.