Я использую asp.net mvc 3 с ненавязчивой проверкой jquery. У меня есть форма для модели, которая содержит различные обязательные атрибуты и другие аннотации данных.
Я отправляю эту форму, используя jquery, вот так
<script type="text/javascript"> $(document).ready(function() {
$('form').submit(function(e) {
e.preventDefault();
var user = {
UserName: $('#@(Html.IdFor(m => m.UserName))').val(),
Password: $('#@(Html.IdFor(m => m.Password))').val(),
RememberMe: $('#@(Html.IdFor(m => m.RememberMe))').val(),
returnUrl: '@Request.Url.PathAndQuery'
};
$('#loginform').hide();
$('#loading').show();
$.ajax({
url: '@Url.Action("LogOn", "Account")',
type: 'POST',
data: JSON.stringify(user),
dataType: 'json',
processData: false,
contentType: 'application/json;charset=utf-8',
success: function(data) {
if (data.returnUrl) {
window.location.href = data.returnUrl;
} else {
$("#loginform").replaceWith(data);
}
},
error: function(jqXhr, textStatus, errorThrown) {
alert("There was an error logging in :'" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
},
complete: function() {
$('#loginform').show();
$('#loading').hide();
}
});
});
}); </script>
Проблема в том, что форма проверена (и будут отображены ошибки для обязательных полей и т. Д.), А затем форма будет отправлена, что вызывает ошибки.
Как мне изменить jquery, чтобы он проверял, что форма действительна перед отправкой?