updatePasswordRules method
void
updatePasswordRules(
- String password
)
Implementation
void updatePasswordRules(String password) {
Map<String, bool> updatedRules = {};
for (var rule in widget.passwordRules) {
if (rule.isEmpty) continue;
bool satisfied = false;
if (rule.contains("8 characters")) {
satisfied = password.length >= 8;
} else if (rule.contains("uppercase")) {
satisfied = RegExp(r'[A-Z]').hasMatch(password);
} else if (rule.contains("lowercase")) {
satisfied = RegExp(r'[a-z]').hasMatch(password);
} else if (rule.contains("number")) {
satisfied = RegExp(r'[0-9]').hasMatch(password);
} else if (rule.contains("special character") ||
rule.contains("symbol")) {
satisfied = RegExp(r'[!@#$%^&*(),.?":{}|<>]').hasMatch(password);
} else {
satisfied = RegExp(widget.newPasswordInputRegex).hasMatch(password);
}
updatedRules[rule] = satisfied;
}
setState(() {
rulesSatisfied = updatedRules;
});
}