1

推出我自己独特的电子邮件检查方法。使用 .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!");
      }
    }
  });
4

2 回答 2

1

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

于 2012-07-13T21:41:56.613 回答
0

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

于 2012-07-16T18:05:23.693 回答