【问题标题】:jQuery validate submitHandler does not fire [duplicate]jQuery validate submitHandler 不会触发 [重复]
【发布时间】:2021-01-20 15:26:20
【问题描述】:
$('#createPatrolForm').on('submit', function() {
  var type = $('input[name="patrol_type"]:checked').val(); // remote, onsite, guard

  $('#createPatrolForm').validate({
    debug: true,
    ignore: "input[type='text']:hidden",
    rules: {
      start_datetime: {
        required: true,
        check_current_dt: true,
      },
      end_datetime: {
        required: true,
        check_date: true,
      },
    },
    messages: {
      start_datetime: {
        required: "Start date & time is required",
      },
      end_datetime: {
        required: "End date & time is required",
      },
    },
    success: function(el) {
      // alert('sucess');
    },
    submitHandler: function(form) {
      alert('Submit Handler................');
    },
    invalidHandler: function(event, validator) {
      // Display error alert on form submit
      var errors = validator.numberOfInvalids();

      if (errors) {
        var invalidElements = validator.invalidElements();
        alert(`invalidElements`);

        var message = errors == 1 ? 'Validate field' : 'Check ' + errors + ' fields';
        alert('Message = ' + message);
      }
    }
  });
});

【问题讨论】:

  • 请多解释。
  • 请使用搜索功能...这个问题已经解决了很多次了。不要将.validate() 方法包含在提交事件处理程序中......它只会在页面加载时调用以初始化插件。插件已经内置了自己的 submitHandler 函数这一事实应该表明您不需要编写自己的提交处理函数。

标签: jquery jquery-validate


【解决方案1】:

问题是因为您需要在页面加载时初始化表单上的验证库,而不是在提交表单本身时。试试这个:

jQuery($ => {
  $('#createPatrolForm').validate({
    debug: true,
    ignore: "input[type='text']:hidden",
    rules: {
      start_datetime: {
        required: true,
        check_current_dt: true,
      },
      end_datetime: {
        required: true,
        check_date: true,
      },
    },
    // all your other options here...
  });
  
  // your other jQuery code here...
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多