Swift Firebase必须是非空字符串且不包含'。' '#''$''['或']'

时间:2016-12-29 02:58:41

标签: swift firebase firebase-realtime-database firebase-authentication

这是我之前的问题的后续跟进。我正在尝试查看是否已使用过电子邮件。

我正在使用

if snapshot.hasChild(email) {

我的数据库中有一封电子邮件test1@test.com 当我输入那个...时,我会进入'。'在此之前,应用程序崩溃并发出错误,说明了这个

Must be a non-empty string and not contain '.' '#' '$' '[' or ']'

我看到很多关于检查用户名的帖子,但我的应用没有用户名,只有电子邮件。我可以使用

的电子邮件吗?
hasChild(...) {...

1 个答案:

答案 0 :(得分:3)

Firebase密钥不能包含.(点)字符。如果要在密钥中存储电子邮件地址,则必须对其进行编码。常见的方法是将.替换为,(逗号),这在电子邮件地址中是不允许的。因此test1@test.com将被编码为test1@test,com

我认为您实际上并未将电子邮件地址存储为密钥,但我会在your previous question上对此进行跟进。