MS의 Patterns & Practices 문서에서 :
데이터 검증 및 오류보고
뷰 모델 또는 모델은 종종 데이터 유효성 검사를 수행하고 데이터 유효성 검사 오류를보기에 신호하여 사용자가이를 수정할 수 있도록해야합니다.
Silverlight 및 WPF는 뷰의 컨트롤에 바인딩 된 개별 속성을 변경할 때 발생하는 데이터 유효성 검사 오류 관리를 지원합니다. 컨트롤에 데이터 바인딩 된 단일 속성의 경우 뷰 모델 또는 모델은 들어오는 잘못된 값을 거부하고 예외를 throw하여 속성 설정자 내에서 데이터 유효성 검사 오류를 알릴 수 있습니다. 데이터 바인딩의 ValidatesOnExceptions 속성이 true이면 WPF 및 Silverlight의 데이터 바인딩 엔진이 예외를 처리하고 데이터 유효성 검사 오류가 있다는 시각적 신호를 사용자에게 표시합니다.
그러나 이러한 방식으로 속성을 사용하여 예외를 throw하는 것은 가능하면 피해야합니다. 다른 방법은 뷰 모델 또는 모델 클래스에서 IDataErrorInfo 또는 INotifyDataErrorInfo 인터페이스를 구현하는 것입니다. 이러한 인터페이스를 통해 뷰 모델 또는 모델은 하나 이상의 속성 값에 대한 데이터 유효성 검사를 수행하고 사용자에게 오류를 알릴 수 있도록 오류 메시지를 뷰에 반환 할 수 있습니다.
문서는 IDataErrorInfo 및 INotifyDataErrorInfo를 구현하는 방법을 설명합니다.