validatePostalCode static method
Validate postal code
Implementation
static String? validatePostalCode(String? value,
{String countryCode = 'US'}) {
if (value == null || value.isEmpty) {
return 'Postal code is required.';
}
RegExp postalCodeRegExp;
switch (countryCode.toUpperCase()) {
case 'US':
postalCodeRegExp = RegExp(r'^\d{5}(-\d{4})?$');
break;
case 'UK':
postalCodeRegExp = RegExp(r'^[A-Z]{1,2}[0-9][A-Z0-9]? ?[0-9][A-Z]{2}$');
break;
case 'CA':
postalCodeRegExp = RegExp(r'^[A-Z]\d[A-Z] ?\d[A-Z]\d$');
break;
default:
postalCodeRegExp = RegExp(r'^[A-Z0-9\s-]{3,10}$');
}
if (!postalCodeRegExp.hasMatch(value.toUpperCase())) {
return 'Invalid postal code format for $countryCode.';
}
return null;
}