Отдельное сообщение об ошибке для минимальной и максимальной длины строки - MVC4 Аннотации данных
Кто-нибудь, пожалуйста, поделится своей реализацией наличием отдельных сообщений об ошибках для минимальной и максимальной длины строки с использованием аннотаций данных в MVC?
Кажется, что StringLength
допускает только одно сообщение об ошибке a MinLength
/MaxLength
не генерирует ненавязчивую разметку проверки, поскольку они не являются IClientValidatable
Хотя это похоже на очень распространенное требование, я не могу найти реализацию в Интернете.
Ответы
Ответ 1
Вы можете использовать аннотацию данных RegularExpression
для минимальной проверки и использовать атрибут StringLength
для максимальной проверки. Javascript будет выполнять клиентскую часть с регулярными выражениями, чтобы они были хорошими и ненавязчивыми! Вы можете использовать только один атрибут RegularExpression
для каждого свойства, в противном случае вы могли бы сделать как максимальный, так и минимальный, используя регулярное выражение.
Минимум 5 символов
[RegularExpression(@"^.{5,}$", ErrorMessage = "Minimum 5 characters required")]
Максимум 50 символов
[StringLength(50, ErrorMessage = "Maximum {2} characters exceeded")]
Ответ 2
Хотя это не отдельные сообщения, это то, что я сделал:
[StringLength(30, ErrorMessage = "Must be between {2} and {1} characters long.", MinimumLength = 6)]
Ответ 3
[StringLength(800, ErrorMessage = "<img src='/images/icon-info.png' /><p>The {0} must be between {2} and {1} characters long.</p>", MinimumLength = 6)]
Отобразится изображение, а также минимальная и максимальная длина.