我有以下代码片段:

$(document).ready(function () {
      // bind 'regFormBody' and provide a simple callback function
      $('#regFormBody').ajaxForm(function() {
          alert("Thank you for your comment!");
      });

      // validate the #regFormBody form when it is submitted
      $("#regFormBody").validate({
        submitHandler: function(form) {
          alert('form is submitted');
        },
        rules: {
          ...
        },
        messages: {
          ...
        }
      });
}


问题是我添加了

    // bind 'regFormBody' and provide a simple callback function
    $('#regFormBody').ajaxForm(function() {
        alert("Thank you for your comment!");
    });


表单验证根本不起作用。即使没有输入任何表单信息,我也总是看到消息警报(“表单已提交”)。

你能告诉我如何解决这个问题吗?

谢谢

最佳答案

您可以这样扩展您的options object for .ajaxForm()

$('#regFormBody').ajaxForm({
  beforeSubmit: function() {
    return $('#regFormBody').valid();
  },
  success: function() {
    alert('Thanks for your comment!');
  }
});


这将在提交之前启动验证,如果不是.valid(),它将阻止提交按照您的意愿进行。

10-07 14:45