当 TextFormField 聚焦时如何隐藏错误外观

Lal*_*hna 2 flutter flutter-layout

我正在使用TextFormField表单和自定义验证器方法来返回错误消息。我试图在TextFormField文本字段获得焦点时隐藏默认错误消息和错误边框。

TextFormField(
   focusNode: _focusNode,
   validator: widget.validator,
   errorBorder: UnderlineInputBorder(
        borderSide: BorderSide(color: Colors.blue, width: 5.0),
        borderRadius: BorderRadius.circular(5),
   ),
   focusedBorder: OutlineInputBorder(
        borderRadius: BorderRadius.circular(5.0),
        borderSide: BorderSide(
        color: const Color(0x1C707070),
        width: 0.5,
   ),
)
Run Code Online (Sandbox Code Playgroud)

我的问题是,当文本字段获得焦点时,错误边框被覆盖。并且下划线变成红色。我知道这就是TextFormField工作原理。

但我想要实现的是当文本字段获得焦点时隐藏所有错误外观,包括错误消息。

Lal*_*hna 5

我通过添加errorStyle&实现了所需的用户界面focusedErrorBorder

errorBorder: UnderlineInputBorder(
      borderSide: BorderSide(color: Colors.blue, width: 1.0),
),
errorStyle: _focusNode.hasFocus ? TextStyle(fontSize: 0, height: 0) : null,
focusedErrorBorder: UnderlineInputBorder(
      borderSide: BorderSide.none,
),
Run Code Online (Sandbox Code Playgroud)