IDataErrorInfo vs IValidatableObject? - PullRequest
10 голосов
/ 20 ноября 2010

В настоящее время мои бизнес-объекты реализуют IDataErrorInfo. Поскольку я намереваюсь использовать эти библиотеки в ASP.NET MVC 3, я полагаю, что я должен также реализовать IValidatableObject или, возможно, вместо

Работает ли WPF с IValidatableObject?

Как DataAnnotations вписывается в изображение?

Ответы [ 2 ]

2 голосов
/ 21 ноября 2010

IValidatableObject - это интерфейс для проверки ошибок на уровне всего объекта.Вы несете ответственность за ее реализацию путем проверки аннотаций данных или других методов.MVC имеет встроенную поддержку аннотаций данных, так что вы можете использовать их без какой-либо дополнительной поддержки.

Напротив, wpf поддерживает только IDataErrorInfo.Он не поддерживает IValidateObject или DataAnnotations.

Однако я реализовал объект-оболочку, который добавляет поддержку DataAnnotation в Wpf к обернутому объекту.Это также обеспечивает реализацию IPropertyChanged.См. Валидационный инструментарий для Wpf и Silverlight на codeplex

1 голос
/ 30 декабря 2010

Я реализую IValidatableObject на объекте, оборачивая его IDataErrorInfo на модели представления (автоматически через базовый класс) для WPF. Мои сущности будут хорошо работать как в WPF, MVC, так и в новой EF CTP5, которая также чтит IValidatableObject.

...