IDataErrorInfo vs IValidatableObject?

2019-02-21 13:03发布

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?

2条回答
来,给爷笑一个
2楼-- · 2019-02-21 13:24

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

查看更多
Fickle 薄情
3楼-- · 2019-02-21 13:24

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.

查看更多
登录 后发表回答