小编Har*_*tta的帖子

如何检查用户名在Firebase中是否唯一

我有一个函数(尚未完成),该函数应检查用户名在Firebase数据库中是否已经存在/唯一。我在Google上搜索了如何实施此方法,并设法获得了以下信息。不幸的是,它不起作用,我什至没有任何console.logs。感谢您的帮助-我到底在做什么错?

 onChangeUsername = (event) => {

var oldError = {...this.state.error};

firebase.database().ref().child("Usernames").orderByValue().once('value', (snapshot) => {
  var exists = (snapshot.val() !== null);
  console.log(exists);
  console.log("hello");
});


if(this.state.validation.username.unique===true)
{oldError.username = "This username is already taken"}

else if((event.nativeEvent.text.length<this.state.validation.username.min) || (event.nativeEvent.text.length>this.state.validation.username.max) )
{oldError.username = "Username should be between " + this.state.validation.username.min + " and " + this.state.validation.username.max + " characters" ;}


else oldError.username = "";



this.setState({ username: event.nativeEvent.text, error:oldError })
}
Run Code Online (Sandbox Code Playgroud)

我的数据库结构如下:

Database:{ Usernames: {uid1: username1, uid2: username2}}
Run Code Online (Sandbox Code Playgroud)

****问题更新****在弗兰克发表评论后,我将代码更改为以下内容。它仍然不起作用,但是我发现了一些需要修复的错误:

onChangeUsername = (event) => {

    var oldError …
Run Code Online (Sandbox Code Playgroud)

javascript firebase react-native firebase-realtime-database

1
推荐指数
1
解决办法
55
查看次数