Почему этот резервный jQuery HTML5 не работает? - PullRequest
1 голос
/ 04 декабря 2011
  $('form').find('input[pattern],textarea[pattern]').each(function(){
    if(!$(this).val().match($(this).prop('pattern'))){
      $(this).addClass('error');
    }
  });


<textarea name=... required pattern=^.{10,255}$></textarea>

Обычно, если значение не соответствует шаблону, добавляется класс (ошибка).Однако класс не добавляется в текстовую область, даже если я набираю только 1-9 символов.

1 Ответ

1 голос
/ 04 декабря 2011

В HTML5 шаблон может интерпретироваться как регулярное выражение, но здесь это просто строка Вам нужно сделать из этого регулярное выражение.

new RegExp($(this).attr('pattern'))

Кроме того, вы можете добавить кавычки вокруг атрибута:

pattern="^.{10,255}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...