Я использую много TextFormFields в качестве полей ввода чисел и хочу убедиться, что пользователь может вводить значение только из допустимого диапазона чисел. Например, поле возраста должно принимать только числа от 18 до 100 и только целые числа, а не десятичные.
Что подводит меня ко второй половине моего вопроса: как я могу использовать свойство validator для указания двух или более условий для одного поля? Скажите для поля возраста; вход должен быть в указанном диапазоне, вход должен быть целым числом, вход не должен быть пустым. Я могу создать работающий валидатор, скажем, с одним из этих условий, но как мне попросить его проверить несколько вещей в одном TextFormField?
Пожалуйста, дайте мне знать, если есть какая-либо другая информация, которую я могу предоставить, чтобы помочь вам ответить, я не чувствовал, что пример кода был бы полезен, потому что проблема не является конкретной.
РЕДАКТИРОВАТЬ: выяснили (по большей части) проблему множественных условий, все еще в неведении относительно создания диапазона допустимых значений. Конкретный пример решения для моей возрастной области был бы большой помощью.
Пример кода:
...
String validateAge(String value){
String pattern = r'(^[0-9]*$)';
RegExp regExp = new RegExp(pattern);
if (value.length == 0){
return "Age is required.";
} else if (!regExp.hasMatch(value)){
return "Age cannot contain characters other than numbers.";
}
}
...
new TextFormField(
decoration: InputDecoration(
hintText: "Age"
),
validator: validateAge,
autoValidate: true,
),