有没有办法自动删除或避免 TextField 中的前导和尾随空格?

Dpe*_*nha 1 controller textfield flutter

我正在制作一个电子邮件字段,我想避免或自动删除其中的前导和尾随空格。

我尝试使用

myTextFieldController.addListener(() { myTextFieldController.text = myTextFieldController.text.trim(); });
Run Code Online (Sandbox Code Playgroud)

但是只要用户输入任何字符,它就会将光标移动到开头。

还有什么办法吗?

您了解用户,所以我需要将其删除,否则他们将永远留在那里尝试验证该字段。

当然,我知道我可以在验证之前做到这一点,但我想知道是否有更强大的方法。

Sum*_*ain 5

您可以使用inputFormatters的特性TextField。它不允许用户在 textField 中添加空格。

TextField(
        inputFormatters: [
                BlacklistingTextInputFormatter(RegExp('[ ]')),
              ]
);
Run Code Online (Sandbox Code Playgroud)

更新:对于高于 1.20.* 的颤振版本,请改用它

TextField(
            inputFormatters: [
                    FilteringTextInputFormatter.deny(RegExp('[ ]')),
                  ]
    );
Run Code Online (Sandbox Code Playgroud)