gpt4 book ai didi

flutter - Flutter-仅当TextField失去焦点时才验证TextFormField

转载 作者:行者123 更新时间:2023-12-03 03:12:09 26 4
gpt4 key购买 nike

我有一个关于验证文本表单字段的问题。

是否只有在失去焦点时才验证TextFormField的值的方法?

我想调用一个API来检查更改焦点时用户名是否已存在于数据库中。如果我在autoValidate中将TextFormField设置为true,则每次用户按下某个键时,它将进行验证。因此,如果用户名包含20个字符,它将调用我的API 20次。因此,为了消除开销,我只想在焦点更改时调用API。

最佳答案

您可以将focusNode附加到TextField,以便每当焦点更改时,您都可以进行api调用并验证文本。在类尝试一下

FocusNode focusNode;
bool _hasInputError;
String text;
@override
void initState() {
super.initState();
focusNode = new FocusNode();
focusNode.addListener(() {
if (!focusNode.hasFocus) {
setState(() {
_hasInputErro = //Check your conditions on text variable
});
}
});
}

然后在 TextField中执行此操作
TextField(
focusNode: _focusNode,
decoration: InputDecoration(
errorText: _hasInputError ? "Your error message" : null,
),
onChanged: (String _text) {
text = _text;
},
)

关于flutter - Flutter-仅当TextField失去焦点时才验证TextFormField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59376676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com