Currently my business objects implement IDataErrorInfo
. Since I intend to use these libraries in ASP.NET MVC 3, I figure I should implement IValidatableObject
as well or maybe instead of.
Does WPF work with IValidatableObject
?
How do DataAnnotations fit into the picture?
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 forIValidateObject
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 codeplexI am implementing
IValidatableObject
at entity, wrapping it withIDataErrorInfo
at view model (automatically via base class) for WPF. My entities will work well in either WPF, MVC and new EF CTP5 who also honorsIValidatableObject
.