Проверка RegexStringValidator в свойствах модели MVC3 - PullRequest
1 голос
/ 27 ноября 2011

Я пытаюсь использовать RegexStringValidator для нескольких свойств:

[Required, StringLength(4, MinimumLength = 4), RegexStringValidator(@"AAAA")]
public virtual string ValueGuid { get; set; }

Это фактически принимает все, что имеет длину 4 символа, а не только "AAAA", что я ожидаю.Есть ли какая-то магия, которую я здесь упускаю?

Спасибо, Антон

1 Ответ

4 голосов
/ 27 ноября 2011

Вам необходимо использовать RegularExpressionAttribute из пространства имен аннотаций данных, а не RegexStringValidator.

RegexStringValidator предназначен для проверки свойств пользовательской конфигурации и не выбирается для проверки связывателем модели MVC по умолчанию.

Поддерживаемые атрибуты проверки, расположенные в пространстве имен аннотаций данных:

  • Диапазон - позволяет проверить, падает ли значение свойства между указанным диапазоном значений.
  • ReqularExpression - позволяет проверить, является ли значение свойство соответствует указанному шаблону регулярного выражения.
  • Обязательный - позволяет пометить свойство как требуется.
  • StringLength - позволяет указать максимальную длину строки свойство.

Есть также два дополнительных атрибута, предоставляемых платформой MVC:

  • Удаленный - позволяет выполнять проверку на стороне клиента с помощью обратного вызова сервера.
  • Сравнить - Гарантирует, что два свойства в объекте модели имеют одинаковое значение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...