Currently my business objects implement IDataErrorInfo
. Since I intend to use these libraries in ASP.NET MVC 3, I figure I should implement IValidatableOb
I am implementing IValidatableObject
at entity, wrapping it with IDataErrorInfo
at view model (automatically via base class) for WPF. My entities will work well in either WPF, MVC and new EF CTP5 who also honors IValidatableObject
.
IValidatableObject
is an interface for verifying whole object level errors. It is your responsibility to implemts it by verifying data annotations or other techniques. MVC has native support for data annotations so you can just use them without any further support.
On the contrary wpf ONLY SUPPORTS IDataErrorInfo
. It has no support for IValidateObject
or DataAnnotations.
However I implemented a wrapper object that add DataAnnotation support in Wpf to the wrapped object. It furnishes also an implementation of IPropertyChanged
. See the Validation Toolkit for Wpf and Silverlight on codeplex