如何解决如何在Flutter Firebase应用中检查用户名的可用性
我正在尝试检查我的flutter和firebase应用程序中是否已经使用了用户名,但是我遇到了一些问题。 我能够查询用户的集合,并将文本形式输入中保存的名称字符串与数据库中已经存在的名称进行比较,效果很好。但是我的问题是,当一个用户使用一个名字并且那个用户试图保存他的个人资料而不更改他的名字时,他得到消息用户名已经被使用,这意味着他不能保存他的个人资料,因为他已经使用了自己的名字。 我想要一个解决方案,如果用户未经过用户名修改就没有修改其用户名,则可以保存其个人资料。我不知道是否可以添加if语句来检查当前用户名是否等于文本字段中的用户名?或提供任何可行的解决方案的帮助。 请这些是我下面的代码
//checks fields of user collection and compares the
//string _username with the userName of each user.
final QuerySnapshot result = await Firestore.instance
.collection('users')
.where('userName',isEqualTo: _userName)
.getDocuments();
//converts results to a list of documents
final List<DocumentSnapshot> documents =
result.documents;
//checks the length of the document to see if its
//greater than 0 which means the username has already been taken
the name
if (documents.length > 0) {
print(_userName + ' is already taken choose
another name');
}else{
print(_userName + ' are you sure you want to use
this name');
}
解决方法
我认为一种解决方案是仅检查用户更改用户名后是否使用了该用户名!因此,如果拥有用户名的用户只保存其个人资料而不更改用户名,就不必担心。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。