在Parse中进行自己独特的电子邮件检查

时间:2012-07-13 21:09:19

标签: javascript backbone.js parse-platform

推出我自己独特的电子邮件检查方法。使用.equalTo和.find即使数据库中没有任何内容,我仍然可以获得成功。如果找不到匹配项,我需要输入错误。有什么想法吗?

  // 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!");
      }
    }
  });

2 个答案:

答案 0 :(得分:1)

即使找不到符合条件的对象,find方法也会成功返回。您可以检查结果是否有任何对象(如果未收到电子邮件则不应该),但您可能需要的是.first() method

答案 1 :(得分:0)

此外,您是否考虑过使用Parse中的实际User class?这将自动强制执行电子邮件的唯一性,并为您提供许多更重要的功能,如安全密码存储,(可选)电子邮件验证,密码重置API,访问控制和社交集成。