我在这个问题上遇到了和海报一样的问题:flutter validate form asynchronously。
然而,我在实现这一点和理解验证是如何工作的方面遇到了麻烦。
首先,这段代码返回什么?这是否返回布尔值?
Future checkUser() async {
var user = await Firestore.instance
.collection('users')
.document(userNameController.text)
.get();
return user.exists;
第二,在这种情况下,userNameValidator是什么?这是一个布尔值吗?
new TextFormField(
validator: (value) {
return usernameValidator;
},
谢谢你的帮助
1条答案
按热度按时间kyvafyod1#
方法
checkUser
将开始调用Firebase。await
关键字告诉编译器我们需要该调用的输出,但没有必要阻止其他所有内容的运行。调用完成后,函数将返回一个bool,指示给定用户是否存在。在另一个问题上,
checkUser
通过onPressed
调用,该调用等待返回值并将其分配给usernameValidator
变量-因此使其成为bool。