validatePhoneNumber method

String? validatePhoneNumber(
  1. String phoneNumber,
  2. Country country
)

Validate a phone number for a country

Implementation

String? validatePhoneNumber(String phoneNumber, Country country) {
  // Remove all non-digit characters
  final digitsOnly = phoneNumber.replaceAll(RegExp(r'\D'), '');

  if (digitsOnly.isEmpty) {
    return 'Phone number is required';
  }

  final length = digitsOnly.length;

  if (length < country.minLength) {
    return 'Phone number is too short (min ${country.minLength} digits)';
  }

  if (length > country.maxLength) {
    return 'Phone number is too long (max ${country.maxLength} digits)';
  }

  return null; // Valid
}