Я использую 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]
Я знаю, что это происходит, потому что это требуется в схеме, но я уже получил эту информацию. Как мне этого не нужно? Или я устанавливаю валидацию для каждой формы?