Можете ли вы вызвать пользовательские ошибки формы HTML5 с помощью JavaScript?
Если у меня есть вход типа <input type="text">
и я хочу вызвать собственную ошибку на входе, вы можете это сделать? Like (искусственный код) ele.triggerError('Error Message');
Тогда это будет выглядеть так:
![error]()
(источник: tylergaw.com)
Но с пользовательским сообщением и для него собственной функцией проверки. Например, для проверки AJAX.
Ответы
Ответ 1
Единственный способ вызвать собственную ошибку - отправить форму. Хотя вы можете настроить собственное сообщение с setCustomValidity
(как описано в моем ответе здесь), и вы можете запускать событие invalid
с checkValidity
, это только позволяет вам создать собственный пользовательский интерфейс проверки. Вот простой пример, с которым можно поиграть, чтобы проверить.
Обратите внимание, что если вы отправите форму с помощью метода submit()
, который будет обходить API проверки. Но если вы запускаете событие click
кнопки отправки, которое будет работать в Firefox и Opera, но не в Chrome. Я бы не стал делать это прямо сейчас.
Ответ 2
Теперь вы можете использовать метод HTMLFormElement.reportValidity()
, который в настоящее время реализован в браузерах Chrome, Firefox, Opera и Android, но не поддерживается в Internet Explorer (см. caniuse.com, чтобы увидеть поддерживаемый браузер).