Я большой поклонник расширения встроенного класса ValidationRule и использования его непосредственно в привязках, в отличие от использования IDataErrorInfo.
Проверьте мой блог здесь, посмотрите, поможет ли это: Вывод привязки данных, проверки и MVVM на следующий уровень - часть 1 . Это концентрируется на том, как использовать его для проверки TextBox, но то же самое относится и к любому привязываемому элементу, то есть столбцам в DataGrid. Преимущества, которые он дает вам, состоят в том, что вы можете не допускать код проверки в своей модели и модели (если вы используете шаблон такого типа), проверка может использоваться повторно в любом месте, и вы можете быть достаточно детализированы с тем, какие проверки применяются и где.