【发布时间】:2020-06-08 11:49:30
【问题描述】:
场景如下:
我有一个TextFormField 和一个FlatButton。我只想在TextFormField 有效时启用FlatButton,并且我想在输入每个字符后检查验证。
我正在使用 Form 和 GlobalKey。我尝试过使用onChanged,并且传递给回调函数的值是正确的,但由于某种原因,当我运行$_globalKey.currentState.validate() 时发生的验证总是落后一个字符。所以为了让它变得非常简单,我只验证字符串是否为空。当它实际上为空时(删除最后一个字符后)validate() 返回true,但在输入一个字符后返回false。
使用autovalidate 并且仅用于验证部分,但我不知道如何将按钮的启用附加到该部分。有谁知道如何让验证在这种情况下“正确”工作?谢谢!
【问题讨论】:
-
你可以用addListener。请检查此链接,stackoverflow.com/a/59652569/12716244
-
感谢@FarukAYDIN 的链接。只是为了确认,没有办法将其与字段本身的
validator属性联系起来?只需要编写一个单独的函数吗?我知道我可以使用一个单独的函数并在两个地方调用,但除此之外没有办法?
标签: forms validation flutter textfield