WhitelistingTextInputFormatter
"создает модуль форматирования, который позволяет только вставлять шаблоны символов из белого списка" .Это означает, что ваш шаблон должен просто соответствовать любой 1 цифре или 1 точке.
Кроме того, вам нужно использовать необработанный строковый литерал, если вы хотите использовать одну обратную косую черту с экранированием регулярных выражений.
Использовать
WhitelistingTextInputFormatter(RegExp(r"[\d.]"))
Обратите внимание, что если вы хотите проверить весь ввод последовательность , вам нужно определить validator: validateMyInput
, а затем добавить
String validateMyInput(String value) {
Pattern pattern = r'^\d+(?:\.\d+)?$';
RegExp regex = new RegExp(pattern);
if (!regex.hasMatch(value))
return 'Enter Valid Number';
else
return null;
}
Адаптировано с Проверка формы во флаттере .