validatePhone function
Validates phone number format (10-15 digits, optional +). Returns null if valid, error message if invalid.
Implementation
String? validatePhone({
required String phone,
String? emptyMessage,
String? invalidFormatMessage,
bool trimWhitespace = true,
List<String>? existingPhones,
String? alreadyExistsMessage,
SahihLanguage? lang,
}) {
final input = trimWhitespace ? phone.trim() : phone;
if (input.isEmpty) {
return emptyMessage ?? SahihLocalization.get('phone_empty', lang: lang);
}
if (!PatternType.phone.isValid(input)) {
return invalidFormatMessage ??
SahihLocalization.get('phone_invalid', lang: lang);
}
if (existingPhones != null && existingPhones.contains(input)) {
return alreadyExistsMessage ??
SahihLocalization.get('phone_already_exists', lang: lang);
}
return null;
}