Disable validation of HTML form elements

forms, html, input, validation

Solution

If you want to disable client side validation for a form in HTML, add the `novalidate` attribute to the form element. Ex:

<form method="post" action="/foo" novalidate>...</form>

See https://www.w3.org/TR/html5/sec-forms.html#element-attrdef-form-novalidate

Problem

In my forms, I'd like to use the new HTML form types, for example `<input type="url" />` (more info about the types here). The problem is that Chrome wants to be super helpful and validate these elements for me, except that it sucks at it. If it fails the built-in validation, there's no message or indication other than the element getting focus. I prefill URL elements with `"http://"`, and so my own custom validation just treats those values as empty strings, however Chrome rejects that. If I could change its validation rules, that would work too. I know I could just revert back to using `type="text"` but I want the nice enhancements using these new types offers (eg: it automatically switches to a custom keyboard layout on mobile devices): Is there a way to switch off or customise the automatic validation?

Original source

Related problems