The HTML5 spec defines some very interesting validation components, including pattern (for validating against a Regexp) and required (for marking a field as required
checkValidity() is suppost to work on either the form as a whole or an individual input.
taken from a List Apart - http://www.alistapart.com/articles/forward-thinking-form-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.