[英]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.