faj*_*nul 3 validation flutter
我想在值更改时修剪 TextFormField 上的文本,以便用户输入名称。用户只允许输入全名,单词之间不能有多余的空格。(例如:我的名字伊斯罗梅奥)
我已经使用 TextEditingController 但仍然无法正常工作。这是我实现目标的代码片段
final myController = TextEditingController();
...
return new TextFormField(
onChanged: (value){
myController..text = value.trim()
..selection = TextSelection.collapsed(offset: myController.text.length);
},
controller: myController,
keyboardType: TextInputType.phone,
style: FormStyles.inputStyles(),
decoration: InputDecoration(
focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: Color(0xFFCACCCF))),
hintText: 'hint',
contentPadding: EdgeInsets.only(bottom: 8),
hintStyle: FormStyles.hintStyles(),
enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: Color(0xFFCACCCF)),),
errorStyle: FormStyles.errorStyles(),
),
);
Run Code Online (Sandbox Code Playgroud)
如果我只输入空格,上面的代码工作正常,但在第一个单词后输入空格后,光标移动到第一个字符。有什么建议吗?
提前致谢!
您可以使用BlacklistingTextInputFormatter来忽略输入文本RegExp。
TextFormField(
decoration: InputDecoration(
labelText: "Title",
),
inputFormatters: [
BlacklistingTextInputFormatter(RegExp("[ ]"))
],
)
Run Code Online (Sandbox Code Playgroud)
有关更多信息,您可以参考: https: //api.flutter.dev/flutter/services/TextInputFormatter-class.html
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |