validatePassword static method

String? validatePassword({
  1. @required String? password,
})

Implementation

static String? validatePassword({@required String? password}) {
  if (password!.isEmpty) {
    return ValidatorStringConstants.password_empty_msg;
  } else if (password.length < 8) {
    return ValidatorStringConstants.password_min_length_msg;
  }

  bool hasUppercase = password.contains(new RegExp(r'[A-Z]'));
  bool hasDigits = password.contains(new RegExp(r'[0-9]'));
  bool hasLowercase = password.contains(new RegExp(r'[a-z]'));
  bool hasSpecialCharacters =
      password.contains(new RegExp(r'[!@#$%^&*(),.?":{}|<>]'));

  if (hasDigits & hasUppercase & hasLowercase & hasSpecialCharacters) {
    return null;
  } else {
    return ValidatorStringConstants.password_contains_character_msg;
  }
}