Проверка с использованием атрибутов в asp.net mvc действительно хороша. Я использую [Range(min, max)]
валидатор до сих пор для проверки значений, например:
[Range(1, 10)]
public int SomeNumber { get; set; }
Однако теперь мне нужно отдельно проверить минимальное и максимальное состояние. Я ожидал найти такие атрибуты:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Есть ли какие-нибудь предопределенные атрибуты для написания этого? Или как мне этого добиться?
asp.net-mvc-3
validation
stiank81
источник
источник
Ответы:
Вот как я бы написал валидатор для MaxValue
Атрибут MinValue должен быть примерно таким же
источник
IClientValidation
интерфейс с указанным выше атрибутом и вернуть правильные значения изGetClientValidationRules
методаЯ не думаю, что существует атрибут минимальной / максимальной проверки. Я бы использовал что-то вроде
для минимального значения 1 и
для максимального значения 10
источник
RangeAttribute
естьAllowMultiple = false
, поэтому он не может скомпилироваться.Полный пример того, как это можно сделать. Чтобы избежать написания сценариев проверки на стороне клиента, был использован существующий ValidationType = "range".
источник
Плагин jQuery Validation уже реализует минимальные и максимальные правила, нам просто нужно создать адаптер для нашего настраиваемого атрибута:
Адаптер:
Атрибут Min был бы очень похож.
источник