How do I set a interval in TextField? I want it accepting only numbers in the range 1-100...

Here is my widget:

          inputFormatters: [
          cursorColor: Colors.white,
          keyboardType: TextInputType.number,
          textAlign: TextAlign.right,
          style: TextStyle(
            color: Colors.white,
            fontSize: 20.0,
          decoration: InputDecoration.collapsed(
            hintText: '',
            hintStyle: TextStyle(fontSize: 14),

Solution 1: solarc

You can create your own input formatter that can limit the range of numbers like this:

class LimitRangeTextInputFormatter extends TextInputFormatter {
  LimitRangeTextInputFormatter(this.min, this.max) : assert(min < max);

  final int min;
  final int max;

  TextEditingValue formatEditUpdate(
      TextEditingValue oldValue, TextEditingValue newValue) {
    var value = int.parse(newValue.text);
    if (value < min) {
      return TextEditingValue(text: min.toString());
    } else if (value > max) {
      return TextEditingValue(text: max.toString());
    return newValue;

Then add it to your inputFormatters:

inputFormatters: [
    LimitRangeTextInputFormatter(1, 100),

With this if the user types a number greater than 100 the text field will change it back to 100.