У меня есть два текстовых поля, одно из которых должно быть годом, поэтому я хочу разрешить вводить только цифры между 1900 и 2020 годами, второе - для рейтингов, и оно должно быть не более 9,9, и это может быть 5 или 5,5 и т. Д. c , Когда я использую приведенный ниже код, я могу получить 1800 или 3450 в поле года, а рейтинг может быть 123 или что-либо имеет 3 цифры. Есть ли способ ограничить их так, как я хочу?
Для лет;
new TextField(
controller: _disControllerF,
textAlign: TextAlign.center,
style: new TextStyle(
fontWeight: FontWeight.w400,
fontFamily: "SegoeUI",
fontStyle: FontStyle.normal,
fontSize: 16.0
),
keyboardType: TextInputType.number,
inputFormatters:<TextInputFormatter>[
LengthLimitingTextInputFormatter(4),
WhitelistingTextInputFormatter.digitsOnly,
],
decoration: InputDecoration(
border: new OutlineInputBorder(
),
hintText: '1900',
hintStyle: TextStyle(
fontWeight: FontWeight.w400,
fontFamily: "SegoeUI",
fontStyle: FontStyle.normal,
fontSize: 16.0),
contentPadding: const EdgeInsets
.symmetric(
horizontal: 10.0),
),),
Для рейтингов;
new TextField(
controller: _disControllerR,
textAlign: TextAlign.center,
style: new TextStyle(
fontWeight: FontWeight.w400,
fontFamily: "SegoeUI",
fontStyle: FontStyle.normal,
fontSize: 16.0
),
keyboardType: TextInputType.number,
inputFormatters:<TextInputFormatter>[
LengthLimitingTextInputFormatter(3),
WhitelistingTextInputFormatter(RegExp("[1-9.]")),
],
decoration: InputDecoration(
border: new OutlineInputBorder(
),
hintText: '6.5',
hintStyle: TextStyle(
fontWeight: FontWeight.w400,
fontFamily: "SegoeUI",
fontStyle: FontStyle.normal,
fontSize: 16.0),
contentPadding: const EdgeInsets
.symmetric(
horizontal: 10.0),
),),