gpt4 book ai didi

javascript - Meteor AutoForm 停止继续提交

转载 作者:行者123 更新时间:2023-12-03 07:27:51 27 4
gpt4 key购买 nike

我想使用 Meteor 的自动表单包为我的 CAS_Entry 集合创建一个表单。代码如下所示。我还添加了定义的钩子(Hook),不幸的是,其中仅执行 beginSubmitbefore ,并且没有任何条目添加到集合中。使用 Meteor shell,插入物就像一个魅力。

我很感激任何提示。

addCasEntry.html,用于显示表单的模板:

{{#autoForm collection="CAS_Entry" type="insert" id="addCasEntryForm"}}
{{> afQuickField name="type" options="allowed"}}
{{> afQuickField name="description" rows="6" type="textarea"}}
{{> afQuickField name="file" type="cfs-file" collection="Images"}}
{{> afQuickField name="date" }}
<button type="submit" class="btn btn-primary">Add</button>
{{/autoForm}}

addCasEntry.js,添加调试钩子(Hook):

AutoForm.hooks({
addCasEntryForm: {
before: {
insert: function(doc) {
console.log(doc);
}
},
after: {
insert: function(error, result) {
console.log('Occured error: ' + error);
}
},
beginSubmit: function() {
console.log('begin submit');
},
onSuccess: function(formType, result) {
console.log("Insert succeeded");
console.log('Result ' + result);
},
onError: function(formType, error) {
console.log('Error!!!');
console.log(error);
}
}
});

SimpleSchema.debug = true;

/lib/collection/cas_entry.js:

CAS_Entry = new Mongo.Collection("cas_entries");

CAS_Entry.attachSchema(new SimpleSchema({
type: {
type: String,
allowedValues: ['reflection', 'evidence']
},
description: {
type: String,
optional: true
},
file: {
type: String,
optional: true,
},
timeUploaded: {
type: Date,
optional: true,
autoValue: function() {
return new Date();
}
},
date: {
type: Date,
}
}));

CAS_Entry.allow({
'insert': function() {
return true;
},
'update': function() {
return true;
}
});

这是控制台输出:

console output

最佳答案

您的表单不会提交,因为您没有将文档返回或传递给 before 内的 this.result();钩子(Hook)。

AutoForm.hooks({
addCasEntryForm: {
// ...
before: {
insert: function(doc) {
console.log(doc);
return doc;
}
}
// ...
}
});

根据documentation ,您应该根据您定义的先决条件使用以下语句之一:

  • 同步,提交:return doc;
  • 同步,取消:返回 false;
  • 异步,提交:this.result(doc);
  • 异步,取消:this.result(false);

关于javascript - Meteor AutoForm 停止继续提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com