DigitField.range constructor Null safety

DigitField.range(
  1. int min,
  2. int max,
  3. {bool trim = false,
  4. FormFieldValidator<String>? validator,
  5. String? blank,
  6. String? malformed,
  7. String? short,
  8. String? long,
  9. String? initialValue,
  10. TextEditingController? controller,
  11. InputDecoration? decoration,
  12. TextInputAction? textInputAction,
  13. TextStyle? style,
  14. TextDirection? textDirection,
  15. TextAlign textAlign = TextAlign.start,
  16. bool readOnly = false,
  17. String obscuringCharacter = '•',
  18. bool obscureText = false,
  19. bool autocorrect = true,
  20. int? maxLength,
  21. ValueChanged<String>? onChanged,
  22. VoidCallback? onEditingComplete,
  23. ValueChanged<String>? onFieldSubmitted,
  24. FormFieldSetter<String>? onSaved,
  25. bool? enabled,
  26. EdgeInsets scrollPadding = const EdgeInsets.all(20.0),
  27. bool enableInteractiveSelection = true,
  28. AutovalidateMode? autovalidateMode,
  29. Key? key}
)

Digit-only form field with length range constraint.

min the minimum number of digits; it must be > 0 and < max. max the maximum number of digits; it must be > 0 and > min. trim whether or not to trim the input value. validator an optional extra validation step. blank the error message in case of blank field; if omitted, the field will not be made required. malformed the error message in case of non-digit characters. short the error message if the length of the input data is shorter than min. long the error message if the length of the input data is longer than max.

Implementation

DigitField.range(
  int min,
  int max, {
  bool trim = false,
  FormFieldValidator<String>? validator,
  String? blank,
  String? malformed,
  String? short,
  String? long,
  String? initialValue,
  TextEditingController? controller,
  InputDecoration? decoration,
  TextInputAction? textInputAction,
  TextStyle? style,
  TextDirection? textDirection,
  TextAlign textAlign = TextAlign.start,
  bool readOnly = false,
  String obscuringCharacter = '•',
  bool obscureText = false,
  bool autocorrect = true,
  int? maxLength,
  ValueChanged<String>? onChanged,
  VoidCallback? onEditingComplete,
  ValueChanged<String>? onFieldSubmitted,
  FormFieldSetter<String>? onSaved,
  bool? enabled,
  EdgeInsets scrollPadding = const EdgeInsets.all(20.0),
  bool enableInteractiveSelection = true,
  AutovalidateMode? autovalidateMode,
  Key? key,
}) : this(
        validator: Pair.str(
          Len.range(min, max, short: short, long: long),
          validator ?? _dummy,
        ),
        malformed: malformed,
        blank: blank,
        trim: trim,
        controller: controller,
        initialValue: initialValue,
        decoration: decoration,
        textInputAction: textInputAction,
        style: style,
        textDirection: textDirection,
        textAlign: textAlign,
        readOnly: readOnly,
        obscuringCharacter: obscuringCharacter,
        obscureText: obscureText,
        autocorrect: autocorrect,
        maxLength: maxLength,
        onChanged: onChanged,
        onEditingComplete: onEditingComplete,
        onFieldSubmitted: onFieldSubmitted,
        onSaved: onSaved,
        enabled: enabled,
        scrollPadding: scrollPadding,
        enableInteractiveSelection: enableInteractiveSelection,
        autovalidateMode: autovalidateMode,
        key: key,
      );