首页 > 解决方案 > 如何在 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;
                                },
                              )),

标签: flutter

解决方案


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;
  },
)

推荐阅读