1

如图所示,错误消息扰乱了 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),
        ),
      ),
    );
  }
}
4

1 回答 1

0

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

于 2020-10-06T18:16:59.393 回答