有没有一种方法可以自动删除或避免TextField中的前导和尾随空格?

时间:2019-11-27 07:06:31

标签: flutter controller textfield

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

我尝试使用

myTextFieldController.addListener(() { myTextFieldController.text = myTextFieldController.text.trim(); });

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

还有其他方法吗?

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

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

2 个答案:

答案 0 :(得分:2)

您可以使用inputFormatters的{​​{1}}属性。 不允许用户在textField中添加空格。

TextField

答案 1 :(得分:1)

如果用户可以在这些空格中键入内容,但又不想将其传递给您的处理方法,则可以使用validator向用户显示错误消息(“不允许使用前导/后缀空格”),也可以在处理之前从结果字符串中修剪掉它。如果要采用验证器方法,也可以使用Regex表达式来验证电子邮件。您可以使用inputFormatter来禁用空格,但是请记住,这将禁用TextField中的所有空格,这对电子邮件字段来说不应该是问题,但是可能在其他地方引起问题(名称字段,地址字段等)