假设我有3个页面:[StartingPage,NamePage,AdressPage]在Pageview中.

每个子级都有一个TextFormfield.

当我处于StartingPage时,我希望在NamePageAdressPage上的TextFormFields键上调用.validate(),并希望在用户导航到其他页面时显示errorLabels.问题是,目前,验证只适用于屏幕上的TextFormFields个.

所以基本上有两个问题:

  1. 可以预建页面浏览量吗?否则,当我调用formFieldKey.currentState时,如果我没有导航到相应的页面,则状态为空.
  2. 有没有其他方法可以验证屏幕外的TextFormfield内容,并在它们进入视图时显示错误标签?

推荐答案

不幸的是,Ffltter不支持多页表单,因此您需要实现高级状态管理来实现这一点. 我用Riverpod创建了一个4页的表单, for each 页面创建了一个表单键,并保存了表单的状态,这样每个表单都将保持其状态,直到您处理它,希望这能有所帮助.

Flutter相关问答推荐

在Flutter 动中绘制ECG图

如何在应用程序启动时解析和加载JSON文件?

允许冻结在初始化时使用工厂

Fighter:基于ChangeNotifier状态动态更新AppBar中的图标

如何在Flutter 中不从getX库中初始化GetxController中的变量

Firebase存储不显示在Flutter 中链接的图像

如何让经过Firebase身份验证的用户能够将Zip文件上载到Firebase云存储?

将侧边菜单和底部导航栏放在同一Flutter 应用程序中

上传的图像不能在FireBase中预览.S档案类型为空白,摆动

如何画三角形的圆角?

Flutter 中的 setState() 内部是如何工作的?

Flutter:如何在 Future 函数上添加网络判断和 showDialog

Flutter:使用不包含导航器的上下文请求导航器操作

尽管设置了对齐方式,如何对齐列中的行?

Flutter应用无法上传到Microsoft Store

在允许屏幕 Select 和点击的同时保持通用对话框显示

文本溢出文本框 - Flutter

Cloud firestore:如何使用 map 对象创建和更新嵌套数组

底部工作表顶部的一块 Flutter

使用 hydrad_bloc 的预览包