New on HTML5 there\'s an \"invalid\" event, to which you can add a listener:
document.addEventListener(\'invalid\', function(e){ var element = $(
Have you tried using :valid to give an indicator as to whether a field is valid. and having forms that are invalid just keep their default styling.
:valid
Then calling form.checkValidity() in the submit handler? (The browser should then tell the end-user which form element is not valid).
form.checkValidity()