Например, в моих формах я хотел бы использовать новые типы форм HTML5 <input type="url" />( подробнее о типах здесь ).
Проблема в том, что Chrome хочет быть очень полезным и проверять эти элементы для меня, за исключением того, что он отстой. Если он не проходит встроенную проверку, там нет сообщения или указания, кроме элемента, получающего фокус. Я предварительно заполняю элементы URL с помощью "http://", и поэтому моя собственная пользовательская проверка просто обрабатывает эти значения как пустые строки, однако Chrome отклоняет это. Если бы я мог изменить правила валидации, это тоже сработало бы.
Я знаю, что я мог бы просто вернуться к использованию, type="text"но я хочу приятные улучшения, используя эти новые типы предложений (например: он автоматически переключается на пользовательскую раскладку клавиатуры на мобильных устройствах):

Итак, есть ли способ отключить или настроить автоматическую проверку?
$('[inputmode]').each(function () { this.attr({type: this.attr('inputmode'), novalidate: true}) });
inputmodeбы. Делая все по-своему, вы все еще не можете (например) прочитать нечисловые значения, которые пользователь вводит в поле ввода типа number. Например, попробуйте ввести что-нибудь нечисловое в текстовое поле этой скрипки и нажать кнопку.
<input type='number'>вообще не принимает нечисловые значения?


inputmodeатрибут , который - если я правильно понимаю, что я прочитал - может использоваться для указания того, какой тип клавиатуры следует предлагать пользователю, когда он взаимодействует с полем, без каких-либо правил валидации. В какой-то момент в будущем использованиеinputmodeатрибута вместоtypeатрибута, вероятно, будет правильным решением этой проблемы, но пока нет.