我是Meteor新手,對Collection2和Accounts有一些疑問。如何使用Collection2(服務器端)保護Accouts.createUser()
目前,用戶可以創建一個帳戶。這由一個調用Meteor方法的模板事件(客戶端)來處理。該方法定義了客戶端和服務器端。客戶端,我做一些UI的東西(沒有什麼重要的),而服務器端,我創建的帳戶。
這裏是我的服務器端流星方法:
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?
謝謝你的一切! :)
完美地工作。非常感謝你的幫助。 – Armelias