Подтвердить что ты не робот

Можете ли вы вызвать пользовательские ошибки формы HTML5 с помощью JavaScript?

Если у меня есть вход типа <input type="text"> и я хочу вызвать собственную ошибку на входе, вы можете это сделать? Like (искусственный код) ele.triggerError('Error Message');

Тогда это будет выглядеть так:

error
(источник: tylergaw.com)

Но с пользовательским сообщением и для него собственной функцией проверки. Например, для проверки AJAX.

4b9b3361

Ответ 1

Единственный способ вызвать собственную ошибку - отправить форму. Хотя вы можете настроить собственное сообщение с setCustomValidity (как описано в моем ответе здесь), и вы можете запускать событие invalid с checkValidity, это только позволяет вам создать собственный пользовательский интерфейс проверки. Вот простой пример, с которым можно поиграть, чтобы проверить.

Обратите внимание, что если вы отправите форму с помощью метода submit(), который будет обходить API проверки. Но если вы запускаете событие click кнопки отправки, которое будет работать в Firefox и Opera, но не в Chrome. Я бы не стал делать это прямо сейчас.

Ответ 2

Теперь вы можете использовать метод HTMLFormElement.reportValidity(), который в настоящее время реализован в браузерах Chrome, Firefox, Opera и Android, но не поддерживается в Internet Explorer (см. caniuse.com, чтобы увидеть поддерживаемый браузер).