Проверка диапазона - сделать исключения из правила - PullRequest
2 голосов
/ 02 января 2012

У меня есть класс со свойством, которое имеет атрибуцию диапазона.

        [Required]
        [Range(5, 9999)]
        public double Price { get; set; }

Что соблюдается всегда и при любом вводе пользователем.

Но на одном конкретном пути кода, где я автоматизирую некоторые записи, я хочу иметь возможность устанавливать ценув 0. Итак, я хочу программно сказать этому классу модели игнорировать это требование.

Возможно ли это?Если так, то как?

Ответы [ 2 ]

0 голосов
/ 02 января 2012

Я бы предложил вам создать производный тип System.ComponentModel.DataAnnotations.ValidationAttribute.Реализация может быть аналогична классу RangeAttribute с дополнительным параметром исключительных значений.

Посмотрите эту статью MSDN , чтобы узнать, как это сделать.

0 голосов
/ 02 января 2012

Это похоже на дубликат этого вопроса , но, возможно, я не совсем понимаю ваши требования.

Для вашего сценария я мог бы попытаться реализовать интерфейс IValidatableObject, чтобы вы могли управлять логикой проверки, а не использовать декларативный шаблон проверки.

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