私はcollection2を使用しており、検証を処理するようにしようとしていますが、これは特定の方法です。次のようなプロファイル スキーマがあります。
Schema.UserProfile = new SimpleSchema({
name: {
type: String,
optional: false
}
location: {
type: String,
optional: true
}
gender: {
type: String,
optional: false
}
});
Schema.User = new SimpleSchema({
username: {
type: String,
optional: true
},
emails: {
type: Array,
optional: true
},
"emails.$": {
type: Object
},
"emails.$.address": {
type: String,
regEx: SimpleSchema.RegEx.Email
},
"emails.$.verified": {
type: Boolean
},
createdAt: {
type: Date
},
profile: {
type: Schema.UserProfile,
optional: true
},
services: {
type: Object,
optional: true,
blackbox: true
},
roles: {
type: [String],
optional: true
},
heartbeat: {
type: Date,
optional: true
}
});
Meteor.users.attachSchema(Schema.User);
現在、私の登録フォームでは、ユーザーに性別を選択するよう求めています。その後、ユーザーがログインすると、名前と場所を尋ねる別のフォームが表示されます。問題は次のとおりです。
登録フォームが機能し、すべてが保存されます。内部フォームを場所と名前で保存しようとすると、エラーが発生します。
Error invoking Method 'updateProfile': Gender is required [400]
スキーマで必要なため、発生していることは知っていますが、この情報は既に取得しています。どうすればそれを要求しないのですか? または、フォームごとに検証を設定しますか?