【发布时间】:2015-10-23 20:21:28
【问题描述】:
我是 Meteor 的新手,我有一点关于 Collection2 和 Accounts 的问题。
目前,用户可以创建帐户。这由调用 Meteor 方法的模板事件(客户端)处理。这个方法是在客户端和服务器端定义的。
在客户端,我在服务器端创建帐户时做一些 UI 工作(没什么重要的)。
这是我的服务器端 Meteor 方法:
Meteor.methods({
'registerUser': function (user) {
Accounts.createUser(user);
}
});
我还使用 Collection2 包在插入或更新文档之前检查数据:
Schema = {};
Schema.UserProfile = new SimpleSchema({
name: {
type: String,
optional: false,
label: "Name"
}
});
Schema.User = new SimpleSchema({
username: {
type: String,
optional: true,
label: "Username"
},
emails: {
type: Array,
optional: true
},
"emails.$": {
type: Object
},
"emails.$.address": {
type: String,
regEx: SimpleSchema.RegEx.Email,
label: "Email address"
},
"emails.$.verified": {
type: Boolean
},
createdAt: {
type: Date
},
profile: {
type: Schema.UserProfile,
optional: true
},
services: {
type: Object,
optional: true,
blackbox: true
}
});
Meteor.users.attachSchema(Schema.User);
好的,我来了。我的问题是关于在创建用户(服务器端)时 Collection2 返回的潜在错误。像这样:
Meteor.methods({
'registerUser': function (user) {
Accounts.createUser(user, (err, res) => {
if(err) return err;
});
return true;
}
});
但是 Meteor 还不支持 Accounts.createUser() 的回调。所以即使我使用 Collection2,我的用户也可以提交错误的输入。
问题是:在这种情况下是否可以将 Collection2 与 Accounts 一起使用以及如何使用?
感谢一切! :)
【问题讨论】: