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

时间:2014-03-03 18:11:24

标签: jquery validation event-handling modularity

我正在纠结意大利面条。我有一个表单,我添加组件来添加验证和准备方法等内容。准备工作不能异步完成,因此它们会停止执行表单,如果成功则要求提交。 (那些将数据添加到表单中)

我挂的是验证。在第二个文件(组件)中添加的验证也必须停止表单提交,但我无法弄清楚如何将其添加到单独的文件中。验证可以同步完成。该组件可能存在也可能不存在。

在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;
  }
};

0 个答案:

没有答案