I need to change textfield border color while changing characters based on email or phone validation.

例如:

  1. 当此时输入不完整的邮箱时,边框 colored颜色 设置为红色,此时完成输入邮箱后,边框 colored颜色 设置为白色.

  2. 在正在进行的打字中,当文本文件的字符长度小于10时,设置边框的红色;当字符长度丰富到10时,设置白色.

Quick words:在使用Getx、Block、Provider等更改字符时更改边框 colored颜色 ...

推荐答案

我已经try 了正常的方式,但有try 使用BLOC State Management this视频在您管在我的项目它的请参考这个视频它对你很有帮助

E-mail Validation function

  emailValidation(emailValue) {
    return RegExp(
      r'^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$',
    ).hasMatch(emailValue);
  }

Your Widget Using TextFormField:

TextFormField(
  autovalidateMode: AutovalidateMode.onUserInteraction,
  validator: (value) => value!.isEmpty
      ? 'Field Not Empty'
      : !emailValidation(value)
          ? 'Enter Valid Email Address'
          : null,
  decoration: const InputDecoration(
    border: OutlineInputBorder(),
    hintText: 'Enter Email Address',
    labelText: 'Email',
  ),
),

Variable Declaration

final text = TextEditingController();
bool validate = false;

Dispose Method:

  void dispose() {
    text.dispose();
    super.dispose();
  }

Your Widget Using TextField:

 TextField(
          onChanged: (value) {
            setState(() {
              text.text.isEmpty || !emailValidation(text.text)
                  ? validate = true
                  : validate = false;
            });
          },
          controller: text,
          decoration: InputDecoration(
            border: const OutlineInputBorder(),
            labelText: 'Enter Email Address',
            errorText: validate ? 'Enter Valid Email' : null,
          ),
        ),

Flutter相关问答推荐

如何使一个悬浮的appbar在flutter?

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

在setState之后,Ffltter ListView.Builder未更新

你能go 掉Flutter 小部件测试中的样板吗?

如何从RealmResults获取Flutter Flutter 流?

ScaffoldMessenger 在等待键下方不起作用

Flutter:我的应用程序是否需要包含退款购买?

没有固定宽度的小部件可以约束文本小部件吗?

为 flutter app/firebase 保存 chatgpt api-key 的正确方法是什么

无状态和有状态小部件,我可以同时使用吗?

Flutter应用无法上传到Microsoft Store

FutureProvider 不返回数据给 UI

Container 的 Flutter 背景图片不会出现

如何删除图像边框半径与其父容器边框半径之间的空白

Flutter/Dart 返回_Future的实例而不是实际的字符串值

如何在 Flutter 中将列小部件添加到行小部件?

无法在Flutter 图像小部件中打开大尺寸(500MB)图像

更新未知文档 ID firebase\flutter 中的字段

有没有办法帮助我修复类型 null 不是 Map 类型的子类型?

如何从用户 Flutter 导航抽屉中隐藏管理菜单