Вебсправочник
Справочник HTML

Атрибут novalidate: отключение автоматической проверки при отправке

Novalidate у формы отключает интерактивную проверку ограничений браузером при отправке. Он может понадобиться при собственной модели сообщений об ошибках, но не делает значения корректными.

Назначение

Novalidate у формы отключает интерактивную проверку ограничений браузером при отправке. Он может понадобиться при собственной модели сообщений об ошибках, но не делает значения корректными.

Как это работает

Required и type продолжают описывать ограничения, а validity позволяет читать состояние поля. Пример показывает разметку отдельной тестовой формы; обработчик /demo-check нужно реализовать самостоятельно и не использовать на рабочем сайте без проверки.

Пример

<form action="/demo-check" method="post" novalidate><label for="nv-email">Учебный email</label><input id="nv-email" name="email" type="email" required><button type="submit">Проверить на тестовом сервере</button></form>

Что должно получиться

При обычной отправке этой формы браузер не останавливает действие своим интерактивным сообщением required. Сервер всё равно должен проверить значение и вернуть понятный результат; готового обработчика в примере нет.

Граница применения и частая ошибка

Novalidate не равно успешной проверке и не отменяет безопасность серверной стороны. Если вы убрали нативные сообщения, предоставьте доступные собственные ошибки и сохраните введённые данные. Запись novalidate="false" не выключает логический атрибут.

Самостоятельная проверка

В локальной форме сравните validity.valid пустого поля до и после добавления novalidate. Затем сравните поведение кнопки отправки. Не снимайте ограничения рабочего проекта только ради устранения мешающего сообщения.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.