validatePassword static method
String?
validatePassword(
- String? value, {
- int minLength = 6,
- bool requireUppercase = true,
- bool requireLowercase = true,
- bool requireNumbers = true,
- bool requireSpecialChars = false,
})
Implementation
static String? validatePassword(
String? value, {
int minLength = 6,
bool requireUppercase = true,
bool requireLowercase = true,
bool requireNumbers = true,
bool requireSpecialChars = false,
}) {
if (value == null || value.isEmpty) {
return 'Password is required.';
}
// Check for minimum password length
if (value.length < minLength) {
return 'Password must be at least $minLength characters long.';
}
// Check for uppercase letters
if (requireUppercase && !value.contains(RegExp(r'[A-Z]'))) {
return 'Password must contain at least one uppercase letter.';
}
// Check for lowercase letters
if (requireLowercase && !value.contains(RegExp(r'[a-z]'))) {
return 'Password must contain at least one lowercase letter.';
}
// Check for numbers
if (requireNumbers && !value.contains(RegExp(r'[0-9]'))) {
return 'Password must contain at least one number.';
}
// Check for special characters
if (requireSpecialChars &&
!value.contains(RegExp(r'[!@#$%^&*(),.?":{}|<>]'))) {
return 'Password must contain at least one special character.';
}
return null;
}