flutter - 如何在 Flutter 中包装 TextFormField 验证器消息?
问题描述
我想增加验证器消息的长度,同时保持文本字段本身的宽度相同。理想情况下,它只会换成第二行,但我不知道如何实现这一点。
这是我目前的实现。
Expanded(
flex: 1,
child: TextFormField(
controller: shortNameController,
decoration: InputDecoration(hintText: 'SHRT'),
textAlign: TextAlign.center,
textCapitalization: TextCapitalization.characters,
inputFormatters: [
WhitelistingTextInputFormatter(
RegExp('[A-Za-z0-9]')),
LengthLimitingTextInputFormatter(4),
],
validator: (value) {
if (value.isEmpty) {
return 'Enter your team\'s short name';
} else if (value.length < 3) {
return 'Must be at least 3 characters';
}
return null;
},
)),
解决方案
errorMaxLines
在 中使用InputDecoration()
,如下所示:
TextFormField(
controller: shortNameController,
decoration: InputDecoration(
hintText: 'SHRT',
errorMaxLines: 3, // number of lines the error text would wrap
),
// other parameters
validator: (value) {
if (value.isEmpty) {
return 'Enter your team\'s short name';
} else if (value.length < 3) {
return 'Must be at least 3 characters';
}
return null;
},
)
推荐阅读
- excel - 在另一个单元格中累积一个单元格的值的总和
- python - python opencv检测图像中的曲线点
- google-maps - 我们可以为 xamarin 形式的 android 和 xamarin 形式的 ios 使用单个 google map api 密钥吗?
- javascript - 用 d3 模拟音频波形
- google-api - 以编程方式批准驱动器文件访问请求
- reactjs - 仅当用户看到完整的视频组件时,如何以 react-native 播放视频?
- rest - sharepoint Addin 中的身份验证
- linux - 代理后面的 Docker 需要在启动时重新启动
- spring - 添加 javax.servlet-api 依赖项会引发 org.slf4j.impl.StaticLoggerBinder 无法加载但我不使用 sl4j 的异常,我使用的是 thymeleaf
- facebook-graph-api - Facebook API 查询子对象