ここに示すように、collection2 パッケージを使用しています: https://github.com/aldeed/meteor-collection2
onlyemail
がオプションではない単純なスキーマを設定しましたが、この単純さにもかかわらず、「電子メールが必要です」と主張するたびに検証が失敗します。
私のスキーマ:
Schema.UserProfile = new SimpleSchema({
firstName: {
type: String,
regEx: /^[a-zA-Z-]{2,25}$/,
optional: true
},
lastName: {
type: String,
regEx: /^[a-zA-Z]{2,25}$/,
optional: true
},
birthday: {
type: Date,
optional: true
},
likes: {
type: [String],
optional: true
}
})
Schema.User = new SimpleSchema({
username: {
type: String,
regEx: /^[a-z0-9A-Z_]{3,15}$/,
optional: true
},
email: {
type: String,
regEx: SimpleSchema.RegEx.Email
},
verified: {
type: Boolean,
optional: true
},
createdAt: {
type: Date,
optional: true
},
profile: {
type: Schema.UserProfile,
optional: true
},
services: {
type: Object,
optional: true,
blackbox: true
}
})
私はそれを次のように設定しました:
Meteor.users.attachSchema(Schema.User)
そして、それを確認するために、値をハードコーディングして、完全に適切な電子メール アドレスを持つユーザーを追加します。
Accounts.createUser({email: "fdfs@fdsfs.com"})
しかし、これを実行すると、特に次のような大きな例外が返されます。
メソッド 'registerUser` の呼び出し中に例外が発生しました エラー: 電子メールが必要です
getErrorObject で
<packages/aldeed:collection2/collection2.js:369:1>
サニタイズされ、次のようにクライアントに報告されました: メールが必要です [400]
私は何が欠けていますか?