第三百零八回

文章目录

  • 1. 概念介绍
  • 2. 实现方法
    • 2.1 文字信息
    • 2.2 红色边框
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何实现密码输入框"相关的内容,本章回中将介绍如何在在输入框中提示错误.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回介绍的内容还与输入框有关,输入框仍然使用TextField组件实现。我们主要介绍如何在输入框中提示错误。具体的现象是输入框下方显示错误文字信息,
同时输入框显示红色边框。这相当于使用文字信息和颜色来发出错误提示。本章回中将介绍如何实现这些错误提示。

2. 实现方法

输入框中的错误信息都是通过TextField组件的属性实现的,我们在接下来的小节中分别介绍文字信息和红色方框的实现方法。

2.1 文字信息

文字信息主要通过InputDecoration组件的errorText属性实现,同时我们需要把InputDecoration组件赋值给TextField组件的decoration属性,这样才能在
输入框下方显示文字信息。errorText属性比较特殊,当它的值为null时不会显示任何文字,当它的值不为null时就会显示文字信息,文字信息位于输入框下方,而且
文字的颜色是红色。开发人员只需要给errorText属性赋值就可以,其它的事情不需要去关注。

2.2 红色边框

红色边框主要通过InputDecoration组件的errorBorder属性实现,同时我们需要把InputDecoration组件赋值给TextField组件的decoration属性,这样才
能在输入框周围显示红色边框。errorBorder属性比较特殊,当errorText属性的值为null时不会显示红色边框,当errorText属性的值不为null时就会显示红色边
框,边框环绕在整个输入框周围。开发人员只需要给errorText属性赋值就可以,其它的事情不需要去关注。

3. 示例代码

TextField(obscureText: !isPasswordVisible,keyboardType: TextInputType.text,decoration: InputDecoration(///这两个一起使用才有填充颜色filled: true,fillColor: Colors.grey[200],///属性值不为空时(!= null)显示errorText,errorText: isPwdEmpty? "password is empty": null,///用来去掉输入框下面的横线border: InputBorder.none,///实现显示和隐藏密码功能suffixIcon: IconButton(icon:isPasswordVisible ? const Icon(Icons.visibility) : const Icon(Icons.visibility_off),onPressed: () {setState(() {isPasswordVisible = !isPasswordVisible;});},),///失去焦点并且errorText的值不为null时就显示errorBorder: OutlineInputBorder(borderSide: const BorderSide(color:Colors.red,width: 1),borderRadius: BorderRadius.circular(16),),),///这里的值配合配合border一起实现红色边框错误提示功能onChanged: (value) {setState(() {if(value == "" || value.isEmpty) {pwdValue = "";isPwdEmpty = true;}else {pwdValue = value;isPwdEmpty = false;}});},
),

上面的示例代码演示了如何在输入框中提示错误,错误包含文本信息和红色方框,它们都通过isPwdEmpty这个bool类型的变量来控制,我们会在onChanged属性中判
断输入框中值,如果输入框中输入的值为空就把isPwdEmpty设置为true,同时更新组件的状态值;反之将isPwdEmpty的值设置为false。组件中的errorText属性
和errorBorder属性检查到isPwdEmpty的值为false时就会在输入框下方显示错误文字信息,同时在输入框周围显示红色边框。

4. 内容总结

最后,我们对本章回的内容做一个全面总结:

  • 输入框基于TextField组件实现,它会通过decoration属性来显示错误信息;
  • 输入框中的错误信息包信错误文字和红色方框两部分,它们会同时出现输入框中;
  • 错误信息通过InputDecoration组件的errorText属性来控制;
  • 红色方框通过InputDecoration组件的errorBorder属性来实现;
  • 我们需要在输入框的onChanged属性中判断输入的内容,然后更新TextFiled组件的状态;
    看官们,与"如何在在输入框中提示错误"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/454457.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Haas 开发板连接阿里云上传温湿度和电池电压

目录 一、在阿里云上创建一个产品 二、开发环境的介绍 三、创建wifi示例 四、编写SI7006和ADC驱动 五、wifi配网 六、主要源码 七、查看实现结果 一、在阿里云上创建一个产品 登录自己的阿里云账号, 应该支付宝,淘宝账号都是可以的。 接着根据需求…

【Linux】EXT2文件系统 | 磁盘分区块组 | inode

文章目录 一、前言二、EXT2文件系统 - 逻辑存储结构💾分区(Partition)分区的概念每个分区的内容Linux下查询磁盘分区 💾块组(Block Group)磁盘格式化每个块组的内容1. Superblock(超级块&#x…

ABeam德硕大中华区董事长兼总经理中野洋辅受邀参加“2024大连软件产业发展大会”并荣获奖项

聚力•笃行•谋新篇 近日,由大连市工业和信息化局指导、大连软件行业协会主办的“2024大连软件产业发展大会”圆满落幕,大会主题定为“聚力•笃行•谋新篇”,意在凝聚行业力量,共谋创新发展。 现场邀请了辽宁省、大连市等地的政…

考研中常见的算法-逆置

元素逆置 概述:其实就是将 第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,依次到中间位置。用途:可用于数组的移动,字符串反转,链表反转操作,栈和队列反转等操作。 逆置图解 …

vulnhub靶场之Thales

一.环境搭建 1.靶场描述 Description : Open your eyes and change your perspective includes 2 flags:user.txt and root.txt. Telegram: machineboy141 (for any hint) This works better with VIrtualBox rathe than VMware 2.靶场地址 https://www.vulnhub.com/entry/t…

MySQL进阶45讲【10】MySQL为什么有时候会选错索引?

1 前言 前面我们介绍过索引,在MySQL中一张表其实是可以支持多个索引的。但是,写SQL语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由MySQL来确定的。 大家有没有碰到过这种情况,一条本来可以执行得…

【C++】【类和对象】构造函数

1.构造函数的特性: 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,任务不是开空间创建对象,而是初始化对象,并且在对象整个生…

MFC结构体写入文件和读取

先定义一个结构体; struct myTxc { char c; CString name; int value; } txc; 读和写的菜单代码; void CjgtrwView::On32771() {// TODO: 在此添加命令处理程序代码CFile file(_T("test1.txt"), CFile::modeCreate | CFile::mod…

数据结构 归并排序详解

1.基本思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列,即先使每个子序列有序…

python推荐算法在汽车用品商城营销系统 django+flask

本论文拟采用计算机技术设计并开发的汽车营销中的设计与实践 ,主要是为用户提供服务。使得会员可以在系统上查看汽车商品、汽车快讯、还可以咨询客服,管理员对信息进行统一管理,与此同时可以筛选出符合的信息,给笔者提供更符合实际…

【算法与数据结构】718、1143、1035、392、115、LeetCode最长重复子数组+最长公共子序列+不相交的线+判断子序列+不同的子序列

文章目录 一、718、最长重复子数组二、1143、最长公共子序列三、1035、不相交的线四、392、判断子序列五、115、不同的子序列六、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、718、最长重复子数组 思路分析&#xff1…

88 docker 环境下面 前端A连到后端B + 前端B连到后端A

前言 呵呵 最近出现了这样的一个问题, 我们有多个前端服务, 分别连接了对应的后端服务, 前端A -> 后端A, 前端B -> 后端B 但是 最近的时候 却会出现一种情况就是, 有些时候 前端A 连接到了 后端B, 前端B 连接到了 后端A 我们 前端服务使用 nginx 提供前端 html, js…