HexField.range constructor Null safety

HexField.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}
)

Hex-only form field with length range constraint.

min the minimum number of hex digits; it must be > 0 and < max. max the maximum number of hex 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-hex 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

HexField.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,
      );