pattern static method

String? pattern(
  1. String? value,
  2. String pattern, {
  3. String? message,
})

Validates that a string matches a regex pattern.

Example patterns:

  • ^[A-Z]{2}\d{4}$ - Two uppercase letters followed by 4 digits
  • ^\d{3}-\d{3}-\d{4}$ - Phone format: 123-456-7890

pattern - Regular expression pattern string message - Custom error message (optional)

Implementation

static String? pattern(String? value, String pattern, {String? message}) {
  if (value == null || value.isEmpty) {
    return null; // Don't validate empty values, use required() for that
  }

  try {
    final regex = RegExp(pattern);
    if (!regex.hasMatch(value)) {
      return message ?? 'Invalid format. Must match pattern: $pattern';
    }
  } catch (e) {
    return 'Invalid validation pattern';
  }

  return null;
}