//...at some point in your form
TextFormField(
obscureText: true,
decoration: const InputDecoration(
labelText: 'Password',
errorStyle: TextStyle(height: 0),
),
controller: pwdTec,
validator: (value) {
if (value == null || value.isEmpty || value.length < 8) {
return ""; //this will just underline the field in red
}
return null;
},
onFieldSubmitted: (_) => _formSubmit(),
),
Text(_errorMessage), //_errorMessage is a field of a StatefulWidget, that gets update by _formSubmit() with a setState() in case of errors that require an explanation
//...rest of the form
4条答案
按热度按时间vhmi4jdf1#
只需使用IntrinsicHeight换行并设置Row的对齐方式。
bkhjykvo2#
您可以使用
TextField
的decoration
参数中的设置:你可以设置错误文本高度如下,以避免在验证失败时小部件重新排列:这将使小部件保持对齐,但随后您必须在某处放置
Text
小部件,因为如果您从验证器返回String
以显示错误,则这将扰乱布局。下面是一个更完整的例子:由于这是一个登录字段的密码字段,我不需要显示错误来让用户了解出错了,出现的红色下划线足以让用户了解出错的地方
8yparm6h3#
请添加一个空的帮助器文本Ex:- helperText:“”
vql8enpb4#
在TextFormField小部件中使用validator属性和decoration属性显示错误消息