Почему проверка регулярных выражений не работает? - PullRequest
1 голос
/ 18 апреля 2011

У меня есть форма с

<td class="label">@Html.LabelFor(u => u.Link)</td>
<td>
    @Html.TextBoxFor(u => u.Link)
    @Html.ValidationMessageFor(u => u.Link)
</td>

Свойство Link имеет RegularExpression

[RegularExpression(@"^(([^\:\/?#]+)\:)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$", ErrorMessage= "invalid URL")]

Но это не подтверждается. Если я добавлю [Required], поле будет проверено.

Я включаю 3 сценария:

  • JQuery 1.5.2
  • jquery.validate.min.js (по умолчанию)
  • jquery.validate.unobtrusive.min.js (по умолчанию)

Нужно ли включать другой скрипт? Почему это не работает для Regex?

1 Ответ

2 голосов
/ 18 апреля 2011

Возможно, у вас есть ошибка в регулярном выражении. Извините, я не могу это заметить, регулярные выражения для меня немного похожи на китайский (я знаю, что я здесь не помог)

Я пробовал после , и он работал нормально:

[RegularExpression(@"((https?|ftp|gopher|telnet|file|notes|ms-help):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)", ErrorMessage = "invalid URL")]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...