У меня есть TextField, который будет принимать только цифры в качестве входных данных.Появляющаяся клавиатура позволяет вводить следующие символы: «- (дефис), (запятая). (Точка) и пробел».Как я могу запретить пользователю вводить все, кроме периода.
child: new TextField(
controller: _controller,
maxLengthEnforced: true,
keyboardType: TextInputType.number,
maxLength: 4, //9999 upper limit
), //TextField
Я пытался использовать RegExp, чтобы взять текст _controller, удалить символы и поместить его обратно в поле без удачи.
...//Add Listener to _controller
_controller.addListener(restrictCharacters);
...
//Listener
void restrictCharacters(){
RegExp regexp = new RegExp(
r"^|\-|\,|\ ",
caseSensitive: false,
multiLine: false,);
String text = _controller.text;
String chng = text.replaceaLL(regExp,"");
_controller.text = chng;
}
При применении курсор перемещаетсяк началу, и поле содержит - (дефис), например.