getRules static method
Implementation
static List<ValidationRule> getRules({
int minLength = 3,
int maxLength = 20,
Set<String> forbiddenCharacters = const {'@'},
RegExp? allowedPattern,
}) {
return [
Validators.required(message: 'Username is required'),
Validators.minLength(
minLength,
message: 'Username must be at least $minLength characters long',
),
Validators.maxLength(
maxLength,
message: 'Username must not exceed $maxLength characters',
),
if (forbiddenCharacters.isNotEmpty)
Validators.custom(
(value) =>
value != null &&
forbiddenCharacters.any((char) => value.contains(char))
? ''
: null,
message: 'Username cannot contain: ${forbiddenCharacters.join(', ')}',
),
if (allowedPattern != null)
Validators.pattern(
allowedPattern.pattern,
message: 'Username contains invalid characters',
),
];
}