MS のPatterns & Practices のドキュメントから:
データ検証とエラー報告
多くの場合、ビュー モデルまたはモデルは、データ検証を実行し、データ検証エラーをビューに通知して、ユーザーがエラーを修正できるようにする必要があります。
Silverlight と WPF は、ビュー内のコントロールにバインドされている個々のプロパティを変更するときに発生するデータ検証エラーを管理するためのサポートを提供します。コントロールにデータ バインドされた単一のプロパティの場合、ビュー モデルまたはモデルは、受信した不正な値を拒否して例外をスローすることにより、プロパティ セッター内でデータ検証エラーを通知できます。データ バインディングの ValidatesOnExceptions プロパティが true の場合、WPF と Silverlight のデータ バインディング エンジンは例外を処理し、データ検証エラーがあることを示す視覚的な合図をユーザーに表示します。
ただし、この方法でプロパティを使用して例外をスローすることは、可能な限り避ける必要があります。もう 1 つの方法は、ビュー モデルまたはモデル クラスに IDataErrorInfo または INotifyDataErrorInfo インターフェイスを実装することです。これらのインターフェイスを使用すると、ビュー モデルまたはモデルで 1 つ以上のプロパティ値のデータ検証を実行し、ユーザーにエラーを通知できるようにエラー メッセージをビューに返すことができます。
このドキュメントでは、IDataErrorInfo と INotifyDataErrorInfo を実装する方法について説明しています。