The HTML5 spec defines some very interesting validation components, including pattern (for validating against a Regexp) and required (for marking a field as required). As best I can tell, however, no browser yet actually does any validation based on these attributes.
I found a comparison of HTML5 support across engines, but there is no information about validation there. In the browsers I've tried (Firefox 3.5.8 and Safari 4.0.4), no object has a checkValidity()
method, so I can't run the validations even though I can define them.
Is there any support for this feature out there so I can experiment?
If you mean checkValidity() then, yes, Opera supports it.
Disclosurey thang: I work for Opera.
I tested the following in Google Chrome:
Stangely, the
<element>.validity.valid
property seems to work correctly, but calling<element>.checkValidity()
always returns true, so it looks like that's not implemented yet.Opera 10 has some HTML5 form validation http://dev.opera.com/articles/view/improve-your-forms-using-html5/. But, I don't think it has checkValidation().
According to Dive into HTML5:
(The quoted paragraph is about the last in the article.)
So far as I'm aware -and bearing in mind I've not tested with Opera 10, I'm taking their word for it- no other browser yet validates forms automatically.
checkValidity() is suppost to work on either the form as a whole or an individual input.
"Additionally, the checkValidity() method can be executed on either an individual field or the form as a whole, and returns true or false. Executing the method will also programmatically fire the invalid event for all invalid fields, or, if executed on a single field, only for that element."
taken from a List Apart - http://www.alistapart.com/articles/forward-thinking-form-validation/
"form . checkValidity() Returns true if the form's controls are all valid; otherwise, returns false." http://www.w3.org/TR/2011/WD-html5-20110525/association-of-controls-and-forms.html#constraint-validation
"valid = element . checkValidity() Returns true if the element's value has no validity problems; false otherwise. Fires an invalid event at the element in the latter case." http://www.w3.org/TR/2011/WD-html5-20110525/forms.html#client-side-form-validation
W3C - working draft.
Sure. Opera and Chromium. But you can test yourself:
Here's a link to a sandbox where you can see Opera and Chrome in action: http://jsfiddle.net/vaZDn/light/