flutter - 如何使用 `form.validate()` 调用特定的验证器而不是同时调用所有的验证器?
问题描述
这是代码:
if (form.validate()) {
// Text forms was validated.
if (mounted) {
setState(() {
_isButtonEnabled = true;
});
}
form.save();
}
我想为特定的 TextFormField 调用特定的验证器
解决方案
Joao 的回答是正确的,但它也被过度设计了。您可以改为GlobalKey
为要独立验证的每个字段声明 a:
GlobalKey<FormFieldState> fieldKey = GlobalKey();
将其分配给TextFormField
您要验证的:
TextFormField(
key: fieldKey,
...
然后使用密钥验证该字段:
bool valid = fieldKey.currentState.validate();
推荐阅读
- c++ - 在 C++ 中使用循环创建多个对象
- google-apps-script - 自定义函数的独立脚本
- javascript - Vanilla JS 菜单下拉菜单不会关闭
- python - 如何让我的脚本很好地拒绝无效字符
- excel - 对所有 VLOOKUP 匹配求和
- google-bigquery - 如何返回具有最大值的 BigQuery 表行
- sql - 如何一次将多个 SSIS 包部署到 SQL Server?
- php - 向 laravel db 查询结果添加新的对象键值
- php - 如何通过单击“发送到信使”按钮检查用户是否登录到 Facebook?
- discord.js - Discord.JS V12 提到了一个用户中间状态