validatePassword static method

String? validatePassword(
  1. String? value,
  2. BuildContext context
)

Validates a password to ensure it meets specific criteria:

  • At least 8 characters long
  • Contains at least one uppercase letter, one lowercase letter, one digit, and one special character. @param value The password string to validate. @param context The BuildContext for localization. @return A string error message if validation fails, or null if it passes.

Implementation

static String? validatePassword(String? value, BuildContext context) {
  if (value == null || value.isEmpty) return AppLocalizations.of(context)!.tPasswordEmptyException;

  String pattern = r'^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[!@#\$&*~]).{8,}$';
  RegExp regex = RegExp(pattern);
  if (!regex.hasMatch(value)) {
    return AppLocalizations.of(context)!.tPasswordRequirements;
  }
  return null;
}