手动设置Flutter验证错误

2024-02-26

验证表单并将请求从 flutter 发送到服务器后端后:我想将服务器中的任何潜在错误消息设置为以原始表单显示。最好与验证错误完全相同。

例如:

Widget build(BuildContext context) {
...
  TextFormField(
    onFieldSubmitted: (value) => _signIn(),
    validator: (input) {
      if (input.length < 6)
        return 'Your password is too short';
      return null;
    },
    onSaved: (input) => _password = input,
    decoration: InputDecoration(
      labelText: 'Password',
    ),
    obscureText: true,
  )
...
}

Future<void> _signIn() async {
  final formState = _formKey.currentState;
  if (!formState.validate()) return;
  formState.save();

  try {
    ... // do fancy request stuff
  } catch (e) {
    // this is where I want to set the "validation" error
  }
}

它实际上非常简单,并且验证错误仍然有效。

String? _errorMsg;

Widget build(BuildContext context) {
...
  TextFormField(
    onFieldSubmitted: (value) => _signIn(),
    validator: (input) {
      if (input.length < 6)
        // will set the errorText directly, no need for a variable here
        return 'Your password is too short';
      return null;
    },
    onSaved: (input) => _password = input,
    decoration: InputDecoration(
      labelText: 'Password',
      errorText: _errorMsg,
    ),
    obscureText: true,
  )
...
}

Future<void> _signIn() async {
  setState(() {
    _errorMsg = null; // clear any existing errors
  });

  final formState = _formKey.currentState;
  if (!formState.validate()) return;
  formState.save();

  try {
    ... // do fancy request stuff
  } catch (e) {
    setState(() {
      _errorMsg = 'Wrong password.';
    });
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动设置Flutter验证错误 的相关文章

  • 空安全 AppLocalization 字符串的最佳方法

    Question 我在用AppLocalizations of context myString在我的 null safe flutter 应用程序中国际化字符串 我的 IDE 告诉我AppLocalizations of context
  • Elmah 不会在 MVC 应用程序中记录 http post 请求的异常 - 如果请求包含 XML

    我在 MVC4 RC 应用程序中遇到了一个奇怪的问题 在 NET 4 0上运行 我刚刚设置 Elmah 来记录异常 错误 我基本上安装了埃尔玛MVC and elmah sqlserverNuGet 包 分别为2 0 0和1 2版本 它似乎
  • 将 Base64 图像数据上传到 Amazon S3

    好吧 在这个phonegap 应用程序中 我从设备相机中的一个巨大图像文件开始 然后我降低分辨率并允许用户使用 javascript canvas 和一些非常酷的代码 称为 darkroomJS 来裁剪它 最后 darkroomJS 使用
  • 如何将 Dart 代码迁移到不可空 (NNBD)?

    我有一个之前编写的 Flutter 应用程序Dart 中引入了 null 安全性 https stackoverflow com questions 60068435 what is nullability in dart non null
  • 多少次函数调用会导致堆栈溢出

    你好 Android Java 开发者 当一个函数调用一个函数并且该函数调用另一个函数等等时 有多少次调用 堆栈长度 会让我陷入堆栈溢出 有一般经验法则吗 我问的原因是因为我现在对于我的 5 人纸牌游戏来说哪个更有效 设计明智 解决方案一
  • 如何在 Express (NodeJS) 中验证和处理表单

    Express 是否有首选的表单处理和验证库 我真的在寻找与 Django 表单中类似的抽象级别 即模板中的验证和错误报告 如果可以在客户端使用相同的验证 那就太好了 有人用过或者写过什么好东西吗 看起来有一个模块位于https githu
  • 从后台恢复后,Flutter GoogleMap 为空白

    我遇到以下问题 我的 Flutter 应用程序使用 GoogleMap 地图最初加载得很好 但是 如果我将应用程序置于后台并稍后恢复 地图将保持空白 Google 徽标仍然显示 就像未指定 API 密钥时发生的情况一样 我的多边形叠加层也不
  • jQuery 验证日期范围问题

    我的代码中有很多地方有成对的相关开始和结束日期字段 范围 我需要验证开始日期早于结束日期 我正在使用 jQuery 验证插件 这是我的代码 http jsfiddle net jinglesthula dESz2 http jsfiddle
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • 如何确定我们是否正在 Dart (Flutter) 中运行单元测试

    在 Flutter Dart 中从单元测试调用函数时 如何确定我正在运行单元测试还是实际应用程序 如果在单元测试中 我想传递不同的数据 您可以使用以下内容来检查您是否正在运行测试 Platform environment containsK
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • Dart 2.2 之后如何设置文字

    直到 2 2 才支持设置文字 如何在 Dart 2 2 之后设置文字 请随意发表评论 谢谢 class item t String name int weight int value main const List
  • Calendly 未在 Webflow 中预填写表单

    我在 Webflow 项目中使用 Calendly 并且它有效 不过 我想在 Calendly 中预先填写表格 这里有一个指南 https help calendly com hc en us articles 226766767 Pre
  • 在一个提交按钮中的新窗口中打开 URL 的两个表单操作?

    是否可以将两个表单操作放在一个提交按钮中 用户将能够选择两个单选按钮 每个表单操作将同时在新窗口中打开 URL 我不知道该怎么做 而且我在编码方面没有太多知识 这段代码不是我的 我只是想修改一下 这是代码
  • OnUpgrade SQFLITE:未处理的异常:DatabaseException(表 UsernameTable 没有名为 RememberMe 的列(Sqlite 代码 1):

    未处理的异常 DatabaseException 表 UsernameTable 没有 名为 RememberMe 的列 Sqlite 代码 1 编译时 INSERT OR 替换为 UsernameTable 用户名 rememberMe
  • 如何在 Flutter 上的 sqlite 中存储对象数据列表?

    如何在 Flutter 上的 SQLite 中存储对象数据列表 API 附带的 Json 数据 images id 10 name img1 id 11 name img2 在使用 SQLite 存储对象之前 您需要序列化对象列表 首先 你
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹

随机推荐

  • 当查询使用包含时,Rails 如何处理 has_many?

    如果我有一个包含许多帖子的用户模型 那么在以下场景中 Rails 将对数据库执行多少个查询 class User has many posts this is the main method in question def has post
  • msysGit:为什么git日志输出空行?

    当我在终端窗口底部键入命令时 插入的空白行似乎越少 如果我在终端窗口的顶部输入它 它会插入几乎整个窗口高度的空白行 如果我在最底部键入它 则不会插入空行 看起来分页程序正在将输出推送到终端窗口的底部 但我希望输出位于我的命令的正下方或顶部
  • 如何检查是否隐式生成了移动构造函数?

    我有几个类 我希望检查是否正在生成默认移动构造函数 有没有办法检查这一点 无论是编译时断言 还是解析生成的目标文件 或者其他 励志例子 class MyStruct public ComplicatedBaseClass std vecto
  • 如何构建、分区和构建大型 MVC 应用程序以便以小的增量片段进行部署?

    我们将开发一个非常大的垂直市场 Web 应用程序 并且倾向于 MVC 方法 它将有 1 个应用程序中所有视图共用的母版页 主控会为整个应用提供一个导航 搜索框架 这将允许用户搜索和选择实体 然后导航到要执行的功能 数据库模型将有 700 到
  • 不能使用公共嵌套类作为私有方法参数

    在下面的代码中 class Outer private void f private Outer Inner in Wrong public class Inner void f public Outer Inner in OK f pri
  • 如何保证 OAuth 消费者秘密的安全,以及当其泄露时如何反应?

    这个问题是关于尝试了解在 Android 等移动平台上实现 oauth 所涉及的安全风险 这里假设我们有一个 Android 应用程序 其代码中嵌入了消费者密钥 秘密 假设消费者的秘密被泄露 并且黑客已经掌握了它 那么会产生什么后果 消费者
  • Debian平台上如何使用pm2启动命令?

    以下是 GitHub 上文档的链接 https github com Unitech pm2 startup script Generation pm2 startup https github com Unitech pm2 startu
  • 当变量为 Null 时 Laravel 5.3 验证失败

    自从 Laravel 从 5 1 升级到 5 3 以来 我在验证方面遇到了一些奇怪的问题 当我发布这样的数据时 firstName null 验证规则是这样的 validator Validator make postData firstN
  • 在 Flask 中迭代提交的表单字段?

    在 Flask 0 8 中 我知道我可以使用以下方式访问各个表单字段form fieldname data 但是有没有一种简单的方法来迭代所有表单字段 我正在构建一个电子邮件正文 我想循环所有字段并为每个字段创建一个字段名称 值条目 而不是
  • 需要在 C 中将 2 的补码转换为十进制的最快方法

    我有 32 位内的某个 18 位 2 的补码 我需要将它们转换为十进制 请给我看一段 C 代码片段 首先你需要做符号扩展 http en wikipedia org wiki Sign extension在你的18位上 填写本机int co
  • svn:数据库已锁定,正在执行语句“RELEASE s0”

    在尝试从私有分支进行合并时 我不断收到列出的错误 数据库被锁定 正在执行语句 RELEASE s0 我运行 collabnet subversion 边缘服务器 1 7 5 3220 94 我运行tortoise svn客户端 Tortoi
  • 创建如果两个表中的行匹配条件则返回 id 的查询

    我正在学习 SQL dbms 并使用 Postgres 我想返回在特定列中都具有特定值的行 例如在表格中Carpets and Curtains 我想得到ids 行 其中颜色为 light yellow 我想我需要加入 但不确定是什么类型
  • 如何在 OpenLayers 5.3.0 中剪切和显示剪切的向量几何

    我必须根据主 限制向量层来剪辑向量层 绘制时 如果绘制图层的某些部分在限制图层之外 则剪掉限制图层之外的区域 示例 1 正如我们所看到的 底部边框的一部分处于限制之外 紫色层 我想知道是否可以向限制层外部的剪辑区域添加功能 示例 2 删除限
  • C 标准数据结构库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 语言 Windows 平台 中经过测试和测试的标准库 它实现了堆栈 队列 树等数据结构
  • 错误:“函数”对象不可下标

    我正在做我的 python 作业 但是当我想测试上面的情况时出现错误 这是我的代码 def evalTerm env t if type t Node for label in t children t label if label Num
  • 安全共享的 Google 日历

    我正在开发一个小型网站 它有一个非常简单的想法 有两组用户 办公室和工人 都必须登录才能访问该网站 该网站是使用Zend框架构建的 问题 我想要一个所有用户都可以访问的日历 办公室工作人员能够编辑日历 而工作人员只能查看日历 我真的很想使用
  • 如何利用MVC中的常用图像资源

    我有几个 ASP NET MVC3 和 4 网站 所有站点都使用独立于库的相同资源 资源是 resx 文件 我想在这些网站内的 html 中使用这些资源中的图像 我之前没有使用过 resx 文件 所以不确定使用它们的好方法是什么 我认为我可
  • 将新节点添加到力导向布局

    关于 Stack Overflow 的第一个问题 请耐心等待 我是 d3 js 的新手 但一直对其他人能够用它完成的事情感到惊讶 并且几乎同样对我自己用它取得的进展如此之少感到惊讶 显然我没有摸到什么 所以我希望这里善良的灵魂可以向我展示光
  • 使用ajax通过单击按钮运行php脚本

    我是一个业余爱好者 对 html javascript php 的了解有限 我设置了一台 Raspberry Pi 微型计算机作为 Web 服务器 首先 我想通过网页上的按钮打开连接到 Pi 的 LED 我有以下有效代码 html 文件的名
  • 手动设置Flutter验证错误

    验证表单并将请求从 flutter 发送到服务器后端后 我想将服务器中的任何潜在错误消息设置为以原始表单显示 最好与验证错误完全相同 例如 Widget build BuildContext context TextFormField on