I have a page which does AJAX validation of an email before continuing on to the next page, using the HTML5 setCustomValidity() method [using the webshims library for older
If you are really set on not letting them submit the form until you have checked the email validity, start out your submit button with the disabled
attribute, then have the callback set $('form button').removeAttr('disabled');
That being said, I'm with the other people - just let them submit the form! Usually people get it right and you pass them right on through with no errors...