Переопределить проверку HTML5 - PullRequest
6 голосов
/ 09 февраля 2012

Я работаю над простой формой входа в систему, с двумя полями:

<form>
  <input type="email" name="email" required />
  <input type="password" name="password" required />
  <button type="submit">Log in</button>
</form>

В современных браузерах проверка запускается автоматически.

Однако, если javascript доступен, я хочу взять проверку формы html5 и обработать все сам.

Я хочу автоматически проверить «onblur» (только уязвимое поле) и хочу проверить все поля при нажатии «submit».

Однако события onblur работают нормально. При нажатии кнопки «submit» стандартное событие submit не вызывается. Тем не менее, «недопустимое» событие инициируется; но только для первого недействительного события.

Какой хороший способ сказать браузеру игнорировать все проверки, связанные с HTML5, и взять на себя весь процесс?

Ответы [ 4 ]

12 голосов
/ 22 ноября 2012

Обращаем ваше внимание на то, что - хотя некоторые браузеры могут поддерживать атрибут novalidate для INPUT элементов - HTML-код не проверяется.

Согласно документации тамнет такого атрибута.Только элемент FORM может содержать атрибут novalidate .

4 голосов
/ 09 февраля 2012

Этот ответ неверный.Пожалуйста, смотрите ответ willydee.

Просто, просто добавьте свойство novalidate к любому элементу, который не требуется проверять браузером, например:

<form>
  <input type="email" name="email" required novalidate />
  <input type="password" name="password" required />
  <button type="submit">Log in</button>
</form>

хотите отменить проверку только при наличии JavaScript, добавьте его с помощью JavaScript (используя jQuery для упрощенного примера)

$('input[novalidate]').attr('novalidate', 'novalidate');

1 голос
/ 12 июня 2014

Другой вариант, если вы, например, используете jQuery, - удалить атрибут.

$("input[required],select[required],textarea[required]").removeAttr('required');
0 голосов
/ 02 августа 2013

Может быть, вы можете использовать javascript для преобразования всех «обязательных» атрибутов в «data-required», чтобы вы могли обрабатывать их с помощью javascript и переопределить проверку формы html5 с помощью собственного обработчика

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