Я пытаюсь использовать проверку правильности регулярного выражения для проверки только десятичных значений или числовых значений со знаком c в приложении Flutter.
Допустимые значения:
Я использовал WhitelistingTextInputFormatter
для ограничения пользовательских вводов. Пожалуйста, используйте код ниже:
TextFormField(
key: AppKeys.emailField,
keyboardType: TextInputType.emailAddress,
controller: controller.emailTextController,
inputFormatters: [
WhitelistingTextInputFormatter(RegExp(r'[0-9-]\d*(\.\d+)?')),
],
maxLength: 100,
decoration: InputDecoration(
labelText: Strings.emailPrompt,
counterText: '',
prefixIcon: Icon(Icons.email),
),
//validator: Validator.validateEmail,
onSaved: (String val) {
//_email = val;
},
);
Но, похоже, это не работает. Хотя он работает нормально только для чисел, он не принимает символ точки. Регулярное выражение также должно принимать один знак минуса, который должен быть в начале, и один символ точки, который должен быть в середине.
Любая помощь очень важна. Заранее спасибо.