推出我自己独特的电子邮件检查方法。使用.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!");
}
}
});
答案 0 :(得分:1)
即使找不到符合条件的对象,find方法也会成功返回。您可以检查结果是否有任何对象(如果未收到电子邮件则不应该),但您可能需要的是.first() method。
答案 1 :(得分:0)
此外,您是否考虑过使用Parse中的实际User class?这将自动强制执行电子邮件的唯一性,并为您提供许多更重要的功能,如安全密码存储,(可选)电子邮件验证,密码重置API,访问控制和社交集成。