validate method
Future<ValidationResult?>
validate(
- BuildContext context,
- String? value,
- FormValidationMode state
override
Implementation
@override
Future<ValidationResult?> validate(
BuildContext context, String? value, FormValidationMode state) async {
if (value == null) {
return null;
}
if (requireDigit && !RegExp(r'\d').hasMatch(value)) {
return InvalidResult(message ??
Localizations.of(context, ShadcnLocalizations).formPasswordDigits);
}
if (requireLowercase && !RegExp(r'[a-z]').hasMatch(value)) {
return InvalidResult(message ??
Localizations.of(context, ShadcnLocalizations).formPasswordLowercase);
}
if (requireUppercase && !RegExp(r'[A-Z]').hasMatch(value)) {
return InvalidResult(message ??
Localizations.of(context, ShadcnLocalizations).formPasswordUppercase);
}
if (requireSpecialChar && !RegExp(r'[\W_]').hasMatch(value)) {
return InvalidResult(message ??
Localizations.of(context, ShadcnLocalizations).formPasswordSpecial);
}
return null;
}