使用simpleLogin将日期输入数据保存到Firebase的正确方法

时间:2015-01-24 21:41:31

标签: angularjs firebase firebasesimplelogin

我是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只能有名字,姓氏和电子邮件?

1 个答案:

答案 0 :(得分:2)

一些有用的说明:

    Firebase已 Firebase Simple Login 已弃用,支持每个Firebase客户端库中内置的本机身份验证方法。也就是说,它会继续发挥作用。
  • Firebase简单登录和本机Firebase身份验证仅仅是委派的身份验证服务。也就是说,它们仅存储凭据以使您的应用程序中的身份验证更容易,但它们不存储任意用户数据。你的Firebase是最好的游戏。
  • 在上面的示例中,写入new Firebase(.../users)正在写入Firebase,而不是身份验证服务,您可以在此处编写您选择的任意数据。 然而,请检查您正在撰写的生日的类型。 Firebase叶值可以是stringnumberbooleannull类型,但很可能您的日期选择器可能只返回Object正确地发生在toString()