numberRange static method

FormFieldValidator<String> numberRange({
  1. required double min,
  2. required double max,
  3. required String rangeMessage,
  4. required String invalidNumberMessage,
  5. bool isRequired = true,
})

Number between min and max (inclusive). UValidators.numberRange(min: 1, max: 100, rangeMessage: "1-100", invalidNumberMessage: "Not a number")

Implementation

static FormFieldValidator<String> numberRange({required double min, required double max, required String rangeMessage, required String invalidNumberMessage, bool isRequired = true}) =>
    (String? value) {
      if (isRequired && (value == null || value.isEmpty)) return invalidNumberMessage;
      if (value != null && value.isNotEmpty) {
        final double? numValue = double.tryParse(value.toLatinNumber().replaceAll(RegExp(r"[^0-9.\-]"), ""));
        if (numValue == null) return invalidNumberMessage;
        if (numValue < min || numValue > max) return rangeMessage;
      }
      return null;
    };