You are here

function password_policy_password_validate in Password Policy 7

Same name and namespace in other branches
  1. 6 password_policy.module \password_policy_password_validate()

Password save validate handler.

1 string reference to 'password_policy_password_validate'
password_policy_form_alter in ./password_policy.module
Implements hook_form_alter().

File

./password_policy.module, line 731
Allows enforcing restrictions on user passwords by defining policies.

Code

function password_policy_password_validate($form, &$form_state) {
  $account = _password_policy_get_user_from_form($form, $form_state);
  if (_password_policy_is_force_password_change_set($account)) {

    // Admins can edit accounts without having to reset passwords.
    if (_password_policy_password_field_is_empty($form_state) && _password_policy_is_current_user($account)) {
      form_set_error('pass', t('Your password has expired. You must change your password to proceed on the site.'));
    }
  }

  // If a password is set and OpenID is not being used, validate password.
  $values = $form_state['values'];
  if (!empty($values['pass']) && !isset($values['auth_openid'])) {

    // Validate length.
    // Short-circuit validation if password exceeds Drupal maximum length as
    // safeguard against potential DoS attacks.
    if (_password_policy_is_form_password_too_long($form_state)) {
      form_set_error('pass', t('Password exceeds maximum length. Please choose a shorter password.'));
      return;
    }

    // Validate constraints.
    _password_policy_validate_constraints($form_state, $account);
  }
}