validatePasswordStrength method
Validates password strength
password The password to validate
Returns a map with validation results
Implementation
Map<String, dynamic> validatePasswordStrength(String password) {
final issues = <String>[];
if (password.length < 8) {
issues.add('Password must be at least 8 characters long');
}
if (!password.contains(RegExp(r'[A-Z]'))) {
issues.add('Password must contain at least one uppercase letter');
}
if (!password.contains(RegExp(r'[a-z]'))) {
issues.add('Password must contain at least one lowercase letter');
}
if (!password.contains(RegExp(r'[0-9]'))) {
issues.add('Password must contain at least one number');
}
if (!password.contains(RegExp(r'[!@#$%^&*(),.?\":{}|<>]'))) {
issues.add('Password must contain at least one special character');
}
return {
'isValid': issues.isEmpty,
'issues': issues,
'strength': _calculateStrength(password),
};
}