在哪里编写AutoForm.addHooks()代码来操作提交的autoform值

时间:2017-06-21 13:04:49

标签: meteor meteor-autoform

下面是我想用来操作QuickForm中提交的值的钩子代码。

var hooksObject = {
  before: {
    insert: function(doc) {
      console.log(doc);
      return doc;
    }
  }
};

AutoForm.addHooks('insertBankDetailForm', hooksObject, true);

我已经阅读了文档并且它说“这些调用应该在顶级客户端代码中的任何位置,并且不需要在Meteor.startup中。您不应该将它们放在自动运行,模板渲染函数中,或者多次调用它们的任何其他地方,因为这会导致钩子多次运行以进行单次提交。

我尝试将代码放置在大部分地方,但我无法理解需要保存的位置。当我在位置index.js

D:\PROJECT\imports\startup\client\index.js中使用上述代码时出现以下错误
Error: Oops! Did you forget to return the modified document from your docToForm hook for the insertBankDetailForm form?
    at autoFormEachDocToForm (aldeed_autoform.js?hash=62240ad…:6595)
    at Array.forEach (<anonymous>)
    at Function._.each._.forEach (underscore.js?hash=cde485f…:149)
    at Blaze.View.<anonymous> (aldeed_autoform.js?hash=62240ad…:6592)
    at blaze.js?hash=f33d3df…:1934
    at Function.Template._withTemplateInstanceFunc (blaze.js?hash=f33d3df…:3744)
    at blaze.js?hash=f33d3df…:1932
    at Object.Blaze._withCurrentView (blaze.js?hash=f33d3df…:2271)
    at viewAutorun (blaze.js?hash=f33d3df…:1931)
    at Tracker.Computation._compute (tracker.js?hash=997515f…:339)
meteor.js?hash=27829e9…:930 Exception from Tracker recompute function:
meteor.js?hash=27829e9…:930 TypeError: Cannot read property 'setMembers' of undefined
    at doMaterialize (blaze.js?hash=f33d3df…:2093)
    at Object.Tracker.nonreactive (tracker.js?hash=997515f…:640)
    at Blaze.View.doRender (blaze.js?hash=f33d3df…:2090)
    at blaze.js?hash=f33d3df…:1934
    at Function.Template._withTemplateInstanceFunc (blaze.js?hash=f33d3df…:3744)
    at blaze.js?hash=f33d3df…:1932
    at Object.Blaze._withCurrentView (blaze.js?hash=f33d3df…:2271)
    at viewAutorun (blaze.js?hash=f33d3df…:1931)
    at Tracker.Computation._compute (tracker.js?hash=997515f…:339)
    at Tracker.Computation._recompute (tracker.js?hash=997515f…:358)
aldeed_autoform.js?hash=62240ad…:2037 Uncaught TypeError: Cannot read property 'removeEmptyStrings' of undefined
    at Object.autoFormGetFormValues [as getFormValues] (aldeed_autoform.js?hash=62240ad…:2037)
    at autoFormRegFormCallback (aldeed_autoform.js?hash=62240ad…:6575)
    at aldeed_autoform.js?hash=62240ad…:670
    at Function._.each._.forEach (underscore.js?hash=cde485f…:157)
    at formPreserveConstructor.FormPreserve._retrieveRegisteredDocuments (aldeed_autoform.js?hash=62240ad…:669)
    at Object.callback (aldeed_autoform.js?hash=62240ad…:628)
    at pollProviders (reload.js?hash=02487cd…:180)
    at Object.Reload._migrate (reload.js?hash=02487cd…:198)
    at reload.js?hash=02487cd…:252
    at underscore.js?hash=cde485f…:717
  

注意:任何帮助都会受到高度赞赏和奖励。

0 个答案:

没有答案