2012-03-10 145 views
0

我使用asp.net mvc 3与不显眼的jQuery验证。我有一个适用于包含各种必需属性和其他数据注释的模型的表单。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

原来调用如果($( '形式')。有效的()),它返回true/false,如果表单有效