RegularExpressionAttribute не работает, и я не знаю почему - PullRequest
1 голос
/ 20 апреля 2011

У меня есть простой класс модели представления для MVC2, который имеет свойство MagicItem:

public class VoodooViewModel {

  [Required(AllowEmptyStrings = false, 
            ErrorMessage = "The Magic Item is required")]
  [RegularExpression(@"^[^-]*$", 
                     ErrorMessage = "Hyphens are not allowed in Magic Items.")]
  public string MajorModel { get; set; }
}

Я просто пытаюсь запретить дефисы в этом свойстве, но я не могу заставить его работать. Кто-нибудь может увидеть, что я делаю не так (RequiredAttribute работает нормально)?

На мой взгляд, регулярное выражение, которое я имею, говорит "от начала строки до конца, сопоставьте все, что не является дефисом". Я проверил это в тестере Regex здесь , и это работает - но не в моем коде. Я не могу получить ошибку, чтобы показать, сколько бы я ни вставил в нее дефисов.

1 Ответ

1 голос
/ 21 апреля 2011

Как инструмент, я забыл проверить в методе действия контроллера, чтобы увидеть, действителен ли ModelState:

public ActionResult UberController(VoodooViewModel vvm)
{
  if (!ModelState.IsValid) return View(vvm);  //turns out this line is important

  (...yaddayaddayadda...)
}

Спасибо Дарину за указание в правильном направлении.

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