Мне трудно получать регулярные выражения для работы с jQuery Validation. Предположим, что я беру простое регулярное выражение, для которого требуется минимум 8 символов:
(?=.{8,})
Если вы подключаете это к тестеру регулярных выражений на основе JavaScript, все работает отлично. 8 или более символов совпадают, 7 или меньше нет.
Кроме того, если я тестирую это на С#, он также работает:
var regex = new Regex(@"(?=.{8,})");
if (regex.IsMatch(myInput))
{
// Hits this code when myInput >= 8 characters
}
Затем я использую ValidationAttribute в модели представления, чтобы испускать проверку jQuery, чтобы убедиться, что пользовательский ввод соответствует выражению:
[RegularExpression(@"(?=.{8,})", ErrorMessage="Does not match.")]
public string MyInput { get; set; }
На данный момент он ломается. Неважно, что я набираю в поле, не соответствует. Выпущенный HTML выглядит следующим образом:
<input data-val="true" data-val-regex="Does not match."
data-val-regex-pattern="(?=.{8,})" id="MyInput" name="MyInput"
type="text" value="" />
Я пробовал разные регулярные выражения, но безуспешно. Есть ли что-то другое в регулярных выражениях в jQuery Validation, которые я игнорирую?
Возможно, это работает:
RegularExpression(@"^.{8,}$")
Надеюсь это поможет. ура
RegularExpression(@".{8,}")
?