我正在纠结意大利面条。我有一个表单,我添加组件来添加验证和准备方法等内容。准备工作不能异步完成,因此它们会停止执行表单,如果成功则要求提交。 (那些将数据添加到表单中)
我挂的是验证。在第二个文件(组件)中添加的验证也必须停止表单提交,但我无法弄清楚如何将其添加到单独的文件中。验证可以同步完成。该组件可能存在也可能不存在。
在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;
}
};