Jquery 添加暂停表单事件和提交的验证模块

Jquery 添加暂停表单事件和提交的验证模块,jquery,validation,event-handling,modularity,Jquery,Validation,Event Handling,Modularity,我被意大利面事件缠住了。我有一个表单,我添加组件来添加验证和准备方法等内容。这些准备工作不能异步完成,因此它们会停止表单执行,并在成功后请求提交。(将数据添加到表单中的) 我挂的是验证。在第二个文件(组件)中添加的验证也必须停止表单提交,但我不知道如何将其添加到单独的文件中。验证可以同步进行。组件可能在那里,也可能不在那里 在DOM表单上添加一个“有效”变量?额外的事件参数? 验证甚至可以作为事件运行吗?我想知道jQuery/JS中的常用技术 下面是我的代码结构。您将看到我缺少验证和停止提交之间

我被意大利面事件缠住了。我有一个表单,我添加组件来添加验证和准备方法等内容。这些准备工作不能异步完成,因此它们会停止表单执行,并在成功后请求提交。(将数据添加到表单中的)

我挂的是验证。在第二个文件(组件)中添加的验证也必须停止表单提交,但我不知道如何将其添加到单独的文件中。验证可以同步进行。组件可能在那里,也可能不在那里

在DOM表单上添加一个“有效”变量?额外的事件参数? 验证甚至可以作为事件运行吗?我想知道jQuery/JS中的常用技术

下面是我的代码结构。您将看到我缺少验证和停止提交之间的链接

var callbackOne, callbackTwo;

// MAIN FILE

$form.on('submit', function() {
  return $form.trigger('validate');
});


// COMPONENT 1

$form.on('submit', function() {
  if ($form.elementOne) {
    return true;
  }
  makeFirstCheck(callbackOne);
  return false;
});

callbackOne = function(response) {
  if (response.success) {
    $form.elementOne = response.usefulData;
    $form.submit();
    return true;
  } else {
    return false;
  }
};


// COMPONENT 2

$form.on('validate', function() {
  return checkThingsOut();
});

$form.on('submit', function() {
  if ($form.elementTwo) {
    return true;
  }
  makeSecondCheck(callbackTwo);
  return false;
});

callbackTwo = function(response) {
  if (response.success) {
    $form.elementTwo = response.usefulData;
    $form.submit();
    return true;
  } else {
    return false;
  }
};

你查过那张支票了吗?这将简化您的生活。@Toma现在我没有,但我正试图避免在我的JS中添加1000行代码,我的验证方法已经准备好了。此外,我还试图理解JS中的事件和模块化技术。也许我们可以重用插件的逻辑。我不知道它是否支持多次调用验证等。我不能完全理解你问题中的逻辑。如果你提供一把小提琴,我会再看一看。另一方面,jQueryValidate只有1231行(未缩小);)。但事实上,这不是小提琴,而是逻辑。