【发布时间】:2020-08-29 16:32:54
【问题描述】:
我编写了一些代码来检查用户名在输入时是否已被使用。 我用过 Cloud Firestore。
这是我的 TextFormField:
TextFormField(
autovalidate: true,
validator: (val) => val.isEmpty
? 'Username cannot be empty.'
: ((!alphanumeric.hasMatch(val))
? 'Username can have only a-z, A-Z, 0-9 or _'
: null),
onChanged: (text) {
setState(() async {
doesUsernameExist =
await databaseService.checkIfUsernameExists(text);
username = text;
});
},
),
当 onChanged() 是异步的时,验证器不起作用。 当 onChanged() 不是异步的并且移除了与 await 的行时,验证器可以完美运行。
如何让两者协同工作?
【问题讨论】:
标签: flutter asynchronous dart future