我正在使用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以便在执行此提交之前检查表单是否有效?
答案 0 :(得分:0)
调用if($('form')。valid()),如果表单有效则返回true / false