Проверка пустых полей в MVVM - PullRequest
1 голос
/ 28 июня 2010

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

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

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

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

Ответы [ 3 ]

3 голосов
/ 28 июня 2010

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

1 голос
/ 28 июня 2010

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

1 голос
/ 28 июня 2010

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

Вы также можете сделать так, чтобы ваш класс Student реализовал IDataErrorInfo и установить ValidatesOnDataErrors = True для ваших привязок. При этом используется DataErrorValidationRule , для которого установлено значение ValidatesOnTargetUpdated.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...