2010-06-28 3 views
1

У меня есть XAML с около 100 элементами управления. Все они привязаны к классу Student.Проверка пустых полей в MVVM

Я могу проверить такой пул, как Age или Name, но как проверить элементы управления, к которым пользователь даже не прикасается?

Например, для поля Адрес.

Адрес не может быть пустым, но пользователь забыл о заполнении этого элемента управления.

ответ

3

В WPF есть что-то под названием ValidationRule. Вы должны попробовать выполнить поиск по Google для этого или, если у вас есть книга «WPF Unleashed», смотрите страницу 298.

1

Установите ValidatesOnTargetUpdated на true в вашем ValidationRule и он будет запущен, когда привязка будет инициализирована, а не только тогда, когда пользователь изменит данные ,

Вы также можете использовать свой класс учеников IDataErrorInfo и установить ValidatesOnDataErrors = True на ваших привязках. Это использует DataErrorValidationRule, который имеет ValidatesOnTargetUpdated set.

1

Существует прохладная библиотека под названием FluentValidation, http://fluentvalidation.codeplex.com/, у нее есть куча ValidationRules, встроенная и упрощающая внедрение новых. Это было сделано в качестве комментария, но, увы, у меня недостаточно очков ...