creditCard static method
Credit card validator (Luhn algorithm)
Implementation
static Validator creditCard({String? message}) {
return (String? value) {
if (value == null) return message ?? 'Invalid credit card number';
final sanitized = value.replaceAll(RegExp(r'\s+|-'), '');
if (sanitized.isEmpty || !RegExp(r'^\d{13,19}$').hasMatch(sanitized)) {
return message ?? 'Invalid credit card number';
}
if (!_luhnCheck(sanitized)) {
return message ?? 'Invalid credit card number';
}
return null;
};
}