Using HTML5 validation...
In HTML5 browsers, validation occurs before the submit
event. So if the form is invalid, the submit event never fires
if you want to use the browser default validation you should use the following as you need to bind to the default submit then prevent the it and use $.ajax or $.post
$("form").bind('submit', function(e){
e.preventDefault();
$.post("url",$("form").serialize(),function(data){
$("#result").html(data).show();
});
});