簡體   English   中英

在注冊Firebase之前檢查用戶名

[英]Checking username before signing up Firebase

使用snapshot.exists()之后,用戶名在注冊后將始終返回為可用狀態。 如何更改代碼以正確檢查用戶名是否已被使用?

這是數據庫中“用戶”下的json片段:

{
  "UserID#" : {
  "credentials" : {
  "name" : "testuser",
  },
 }
}  

我的代碼當前如下所示:

let usersDB = Database.database().reference()
var taken = false
  usersDB.child("users").child("credentials").queryOrdered(byChild:"name").queryEqual(toValue: username.lowercased()).observeSingleEvent(of: .value, with: { (snapshot) in

        if snapshot.exists() {
            taken = true
            print("Username is not available.")
            usernameAlert()
        } else { 
          print("User is available")
        }

無論用戶名是否已經在數據庫中使用,快照都會說它不存在。

我嘗試過的解決方案沒有成功: 檢查 Firebase中是否存在用戶 名在Firebase中 查詢用戶,以檢查注冊過程中 是否存在用戶名 Firebase查詢唯一的用戶名swift 使用Swift和Firebase檢查用戶是否存在用戶名 Swift&Firebase | 檢查用戶是否存在用戶名

現在,您正在/users/credentials每個子節點下檢查名為name的屬性。 相反,您想要的是檢查/users每個子節點以找到credentials/name的屬性,您可以使用:

usersDB.child("users").queryOrdered(byChild:"credentials/name").queryEqual(toValue: ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM