number static method

FormFieldValidator<String> number({
  1. String? requiredMessage,
  2. String? invalidMessage,
  3. int? minLength,
  4. int? maxLength,
  5. bool isRequired = true,
})

Only digits (Persian/Arabic digits accepted), optional length limits. UValidators.number(minLength: 4)

Implementation

static FormFieldValidator<String> number({String? requiredMessage, String? invalidMessage, int? minLength, int? maxLength, bool isRequired = true}) => (String? value) {
  if (isRequired && (value == null || value.isEmpty)) return requiredMessage ?? U.s.required;
  if (value != null && value.isNotEmpty && !value.extractLatinNumber().isNumeric()) return invalidMessage ?? U.s.thisFieldIsInvalid;
  if (minLength != null && value != null && value.isNotEmpty && value.length < minLength) return invalidMessage ?? U.s.thisFieldIsInvalid;
  if (maxLength != null && value != null && value.isNotEmpty && value.length > maxLength) return invalidMessage ?? U.s.thisFieldIsInvalid;
  return null;
};