【问题标题】:TextFormField showing error inside the TextFormField- FlutterTextFormField 在 TextFormField- Flutter 中显示错误
【发布时间】:2020-10-01 20:37:44
【问题描述】:

如图所示,错误信息扰乱了 TextField。 我正在使用容器作为父小部件来制作一些 UI 内容,但这发生了。 没有验证消息它可以正常工作 我想要TextField下面的错误信息不在里面,请帮忙。

如图所示,错误信息扰乱了 TextField。 我正在使用容器作为父小部件来制作一些 UI 内容,但这发生了。 如果没有验证消息,它可以正常工作。 我想要TextField下面的错误信息不在里面,请帮忙。

import 'package:flutter/material.dart';
import 'package:email_validator/email_validator.dart';

class RoundedTextField extends StatelessWidget {
  final String hintText;
  final IconData iconData;
  final Color hintcolor, iconcolor;
  final bool password;
  final TextEditingController tcontroller;
  final TextInputType tType;

  const RoundedTextField(
      {Key key,
      @required this.hintText,
      @required this.iconData,
      @required this.hintcolor,
      this.iconcolor,
      this.password,
      this.tcontroller,
      this.tType})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    Size size = MediaQuery.of(context).size;

    return Container(
      margin: EdgeInsets.symmetric(vertical: 10),
      padding: EdgeInsets.symmetric(vertical: 5, horizontal: 20),
      width: size.width * 0.8,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(29),
        color: Color(0xFFa5b2fc),
      ),
      child: TextFormField(
        controller: tcontroller,
        obscureText: password,
        keyboardType: tType,
        validator: (String value) {
          bool isValid = EmailValidator.validate(value);
          if (!password) {
            if (!isValid) {
              return "Invalid Email Address";
            }
          }
        },
        decoration: InputDecoration(
          suffixIcon: password
              ? (Icon(
                  Icons.visibility,
                  color: iconcolor,
                ))
              : null,
          border: InputBorder.none,
          icon: Icon(
            iconData,
            color: iconcolor,
          ),
          hintText: hintText,
          hintStyle: TextStyle(color: hintcolor),
        ),
      ),
    );
  }
}

【问题讨论】:

  • 你应该试试这个验证器:(String value) { if (value.isEmpty) { return ''; } },

标签: flutter validation dart textformfield


【解决方案1】:

使用 TexformField 中的装饰。包括文字、边框、形状、颜色

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2020-10-31
    • 1970-01-01
    • 2021-09-19
    • 2020-10-19
    相关资源
    最近更新 更多