pattern static method
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;
}