phoneNumber static method
Validates phone number format
Implementation
static String? Function(String?) phoneNumber({String? message}) {
return (String? value) {
if (value == null || value.trim().isEmpty) {
return null;
}
// Remove spaces and punctuation
final cleaned = value.replaceAll(RegExp(r'[\s-]'), '');
// Validate Indonesian phone number format (e.g., 081234567890)
final phoneRegex = RegExp(r'^(\+62|0)[0-9]{10,13}$');
if (!phoneRegex.hasMatch(cleaned)) {
return message ?? _defaultMessages['phoneNumber'];
}
return null;
};
}