0

私はfirebaseが初めてで、生年月日フィールドをフォームに追加して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 userInfoconsole.log("user.birthdate: "+ user.birthdate);の直後に行うと、日付ピッカーで選択された日付を確認できます...フォームからその登録関数に入ることがわかります。

simpleLogin には、名、姓、および電子メールのみを含めることができると思いますか?

4

1 に答える 1

2

いくつかの役立つメモ:

  • Firebase Simple LoginはFirebase によって廃止され、各 Firebase クライアント ライブラリに組み込まれているネイティブ認証方法が採用されました。とは言っても、それは機能し続けます。
  • Firebase Simple Login とネイティブの Firebase 認証はどちらも、委任された認証サービスにすぎません。つまり、アプリでの認証を容易にするために資格情報を保存するだけで、任意のユーザー データは保存しません。あなたの Firebase はそのための最良の方法です。
  • 上記の例では、new Firebase(.../users) への書き込みは、認証サービスではなく、Firebase への書き込みであり、選択した任意のデータをそこに書き込むことができます。ただし、書いている生年月日の種類を確認してください。Firebase リーフ値の型stringは 、numberboolean、またはnull- ですが、datepicker がObjectたまたまtoString()正しく を返す可能性があります。
于 2015-01-26T19:08:34.223 に答える