creditCard static method

Validator creditCard({
  1. String? message,
})

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;
  };
}