【发布时间】:2016-05-26 04:51:35
【问题描述】:
我有一个看起来像这样的用户配置文件架构:
Schema.UserProfile = new SimpleSchema({
name: {
type: String,
optional: false
},
gender: {
type: String,
optional: false,
allowedValues: ['Male', 'Female']
},
location: {
type: String,
optional: false
},
age: {
type: Number,
optional: false
}
}
我的注册表要求用户在上面选择他们的性别。注册后,用户会看到另一个表单来填写其余数据:姓名、位置和年龄。
问题是:当用户尝试注册时,我收到错误:Name is required。用户在注册之前不得输入他们的姓名。
仅验证实际保存在特定表单上的数据的正确方法是什么?
编辑
这是我的注册脚本:
var data = {};
var profile = {};
data.email = $('#email').val();
data.password = $('#password').val();
profile.gender = $('#gender').val();
data.profile = profile;
Accounts.createUser(data, function (error) {
// do
// ERROR: Name is required
});
当用户实际注册时,他们会看到一个表单来填写其他数据。表单提交会调用一个尝试更新配置文件对象的方法。
【问题讨论】:
-
你能发布你的更新代码吗?
-
您查看我对您其他问题的回答了吗?如果可行的话,我认为同样的事情也适用于此。
-
@StephenWoods 我删除了这个问题,因为它似乎是这个问题的副本。话虽这么说,我读了你的回答,但它似乎并没有帮助我解决这个具体问题。
标签: meteor simple-schema