validate method

  1. @override
ValidationResult validate(
  1. String phoneNumber,
  2. Country country
)
override

Implementation

@override
ValidationResult validate(String phoneNumber, Country country) {
  final pattern = countryPatterns[country.code];

  if (pattern == null) {
    // No pattern defined, skip validation
    return const ValidationResult.valid();
  }

  final digitsOnly = phoneNumber.replaceAll(RegExp(r'\D'), '');

  if (pattern.hasMatch(digitsOnly)) {
    return const ValidationResult.valid();
  }

  return ValidationResult.invalid(
    'Invalid phone number format for ${country.name}',
  );
}