способ проверить правильность форм HTML5? - PullRequest
46 голосов
/ 01 мая 2011

Можно ли проверить, является ли элемент ввода формы html5 действительным на основе шаблона, который я для него установил? Я знаю материал класса псевдо ... но я надеюсь что-то вроде: document.getElementById('petitionName').valid может вернуть true или false ..

Я действительно надеюсь, что мне не нужно создавать javascript для повторной проверки этого материала.

Ответы [ 2 ]

81 голосов
/ 05 мая 2011

Есть два способа проверить правильность.

  1. inputElement.checkValidity() возвращает true или false
  2. inputElement.validity возвращает объект состояния действительности.inputElement.validity.valid возвращает true/false

Вместо использования keyup вы также можете использовать событие 'input'.Все браузеры, которые реализовали API проверки ограничений, также реализовали событие ввода.

Если вы используете опцию 1 выше, Opera имеет ошибку здесь и покажет подсказку о проверке.Поэтому вы должны использовать 2.

Я создал библиотеку форм html5, которая реализует все неизвестные функции для неспособных браузеров + устраняет проблемы в браузерах HTML5.Так что все работает так, как определено в спецификации, но он построен поверх jQuery.(http://afarkas.github.com/webshim/demos/index.html).

7 голосов
/ 01 мая 2011

Вы можете использовать атрибут pattern .

Он будет проверять его на стороне клиента, поэтому нет необходимости проверять его снова на стороне клиента.

Example

jsFiddle .

Но , убедитесь, что вы делаете это снова на стороне сервера.

Также обратите внимание, что из-за плохой совместимости браузера JavaScript является нормой для проверки клиентской стороны.

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