1

独自のメールチェック方法を展開。.equalTo と .find を使用すると、DB に何もなくても成功します。一致するものが見つからない場合は、エラーにする必要があります。何か案は?

  // Check if email is already in use
  var query = new Parse.Query(Email);
  query.equalTo("email", email);
  query.find({
    success: function(results) {
      self.$(".signup-form .error").html("Email already in use.").show();

      this.$(".signup-form button").removeAttr("disabled");
    },
    error: function(error) {
      if (error.code === Parse.Error.OBJECT_NOT_FOUND) {
        alert("Perfect, could not find this email!");

        Parse.User.signUp(username, password, { ACL: new Parse.ACL() }, {
          // ... signUp method here ...
        });
      } else if (error.code === Parse.Error.CONNECTION_FAILED) {
        alert("Uh oh, we couldn't even connect to the Parse servers!");
      }
    }
  });
4

2 に答える 2

1

基準を満たすオブジェクトが見つからない場合でも、find メソッドは正常に戻ります。結果にオブジェクトがあるかどうかを確認できます (電子メールが取得されていない場合は確認できません) が、おそらく探しているのは.first() メソッドです。

于 2012-07-13T21:41:56.613 に答える
0

さらに、Parse で実際のUser クラスを使用することを検討しましたか? これにより、電子メールの一意性が自動的に強制されるだけでなく、安全なパスワード ストレージ、(オプションの) 電子メール検証、パスワード リセット API、アクセス制御、ソーシャル統合など、より多くの重要な機能が提供されます。

于 2012-07-16T18:05:23.693 に答える