Javascript 如何同时使用jQuery验证程序和AJAX请求?

Javascript 如何同时使用jQuery验证程序和AJAX请求?,javascript,jquery,ajax,forms,validation,Javascript,Jquery,Ajax,Forms,Validation,我正在使用 我试图使用AJAX提交我的登录页面,但同时我也尝试使用jQuery验证表单;然而,当我提交它时,我只验证AJAX请求提交后的最后一个字段;因此,没有进行任何验证 我正在尝试禁用表单的提交按钮,直到验证通过。然后允许AJAX请求发生,一旦验证,它将取消按钮;允许用户使用enter或单击按钮提交表单。然而,它似乎不起作用 $(document).ready(function() { $("#signin").validate({ rules: {

我正在使用

我试图使用AJAX提交我的登录页面,但同时我也尝试使用jQuery验证表单;然而,当我提交它时,我只验证AJAX请求提交后的最后一个字段;因此,没有进行任何验证

我正在尝试禁用表单的提交按钮,直到验证通过。然后允许AJAX请求发生,一旦验证,它将取消按钮;允许用户使用enter或单击按钮提交表单。然而,它似乎不起作用

$(document).ready(function() {
    $("#signin").validate({
        rules: {
            username: {
                required: true
            },
            password: {
                required: true,
                minlength: 8,
                maxlength: 50
            }
        },
        messages: {
            username: {
                required: "Your username is required."
            },
            password: {
                required: "Your password is required.",
                minlength: "Passwords are between 8-50 characters.",
                maxlength: "Passwords are between 8-50 characters."
            }
        }
    });
    $("form .login").click(function () {
        $.ajax(/* ... */);

        return false;
    });
});

不要使用
单击提交按钮上的事件侦听器,而是使用表单上的
提交
事件。您还需要使用表单上的
.valid()
方法检查表单是否有效:

$("form").submit(function() {
  if (!$("form").valid()) return;

  var username = $("form #username").val();
  var password = $("form #password").val();
  // ...
});