unobtrusive with remote test
http://stackoverflow.com/questions/19282497/mvc4-unobtrusive-validation-doesnt-wait-for-remote-validation-to-be-completed
by ryleyb
HTML
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/smoothness/jquery-ui.css">
CSS
.input-validation-error {
color:red;
}
JavaScript
$('body').append('<form name="myForm" id="nameForm">'+
'First Name: <input data-val="true" data-val-required="A date is required." type="text" id="firstName" name="firstName" />'+
'<br/>Last Name: <input type="text" name="lastName" data-val-remote="true" data-val-remote-url="/echo/html/" data-val-remote-type="post" data-val-remote-additionalfields="html" data-val="true" />'+
'<input type="hidden" name="html" value="false" />'+
'<br/> <input type="submit" />'+
'</form>');
$.validator.unobtrusive.parse($('#nameForm'));
$('#nameForm').data('validator').settings.submitHandler = function(form){
alert('successful submit. Return false from here to not submit the form (i.e. for AJAX)');
};