Flutter异步表单验证

b4lqfgs4  于 2023-05-23  发布在  Flutter
关注(0)|答案(1)|浏览(119)

我在这个问题上遇到了和海报一样的问题: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;
              },

谢谢你的帮助

kyvafyod

kyvafyod1#

方法checkUser将开始调用Firebase。await关键字告诉编译器我们需要该调用的输出,但没有必要阻止其他所有内容的运行。调用完成后,函数将返回一个bool,指示给定用户是否存在。
在另一个问题上,checkUser通过onPressed调用,该调用等待返回值并将其分配给usernameValidator变量-因此使其成为bool。

相关问题