Будет ли свойство ValidationResult.MemberNames содержать более одного значения?
Я ищу с отражателем, и мне не удалось найти случай, когда ValidationResult.MemberNames
должен содержать более одного значения.
Итак, прежде всего мне интересно, почему MS должен был это сделать IEnumerable<string>
тогда, теперь, когда они уже сделали это, могу ли я рассчитывать, что это свойство будет возвращать только одно значение?
Обновить
Что касается системы валидации DataAnnotations, я нахожу больше неряшливости:
-
TryValidateProperty
а такжеTryValidateObject
должен был удалить ошибки из параметра validationResults, если они больше не существуют. - ValidationResult должен иметь переопределение Equals и GetHashCode.
- Почему изменяемый ValidationResult.ErrorMessage!? Я не могу сам построить EqualityComparer!
- Если DataTypeAttribute используется только для задач представления, почему он наследует ValidationAttribute, это только вводит в заблуждение, мне пришлось бороться, пока я не понял (после отражения), что он не будет работать. MS просто не реализовал это.
И список продолжается.
1 ответ
Решение
Рассмотрим пароль и подтверждение пароля. Или любые значения Start/Stop, или любая другая проверка кросс-поля.