我是firebase的新手,我正在尝试将一个Date of Birth字段添加到表单并将其保存到Firebase。
表单中的输入字段如下所示:
<label for="birthdate">Date of Birth</label>
<input type="date" id="birthdate" name="birthdate"
ng-model="user.birthdate" ng-required="true" placeholder="Last Name">
<p class="error validationerror"
ng-show="myform.birthdate.$invalid && myform.birthdate.$touched">
Birthdate is required</p>
在lynda.com教程之后,创建了一个工作寄存器功能:
register : function(user) {
return simpleLogin.$createUser(user.email, user.password)
.then(function(regUser){
var ref = new Firebase(FIREBASE_URL + 'users');
var firebaseUsers = $firebase(ref);
var userInfo = {
date: Firebase.ServerValue.TIMESTAMP,
regUser: regUser.uid,
firstname: user.firstname,
lastname: user.lastname,
email: user.email
}
firebaseUsers.$set(regUser.uid, userInfo);
}); //add user
}, //register
我尝试在电子邮件之后简单地添加另一个birthdate: user.birthdate
键:值对: user.email ,但这不起作用。
register : function(user) {
return simpleLogin.$createUser(user.email, user.password)
.then(function(regUser){
var ref = new Firebase(FIREBASE_URL + 'users');
var firebaseUsers = $firebase(ref);
var userInfo = {
date: Firebase.ServerValue.TIMESTAMP,
regUser: regUser.uid,
firstname: user.firstname,
lastname: user.lastname,
email: user.email,
birthdate: user.birthdate
}
firebaseUsers.$set(regUser.uid, userInfo);
}); //add user
}, //register
生日的任何内容都没有添加到firebase中。
如果我在 var userInfo 之后立即console.log("user.birthdate: "+ user.birthdate);
我可以看到日期选择器中选择的日期...所以我知道它从表单进入该寄存器功能。
我猜测simpleLogin只能有名字,姓氏和电子邮件?
答案 0 :(得分:2)
一些有用的说明:
new Firebase(.../users
)正在写入Firebase,而不是身份验证服务,您可以在此处编写您选择的任意数据。 然而,请检查您正在撰写的生日的类型。 Firebase叶值可以是string
,number
,boolean
或null
类型,但很可能您的日期选择器可能只返回Object
正确地发生在toString()
。