You are here

function password_policy_user_profile_form_validate in Password Policy 7.2

Form validation handler for user_profile_form().

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

File

./password_policy.module, line 300
Enforces password policies.

Code

function password_policy_user_profile_form_validate($form, &$form_state) {
  if (!empty($form_state['values']['pass'])) {
    $pass = $form_state['values']['pass'];

    // Do not process overlong passwords to avoid potential DoS.
    // Drupal core does not allow passwords over a certain number of bytes, so
    // impose the same limitation.
    if (_password_policy_is_password_too_long($pass)) {
      form_set_error('pass', t('Password exceeds maximum length. Please choose a shorter password.'));
      return;
    }
    $account = $form['#user'];
    $policies = PasswordPolicy::matchedPolicies($account);
    $errors = array();
    foreach ($policies as $policy) {
      $errors = $errors + $policy
        ->check($pass, $account);
    }
    if (!empty($errors)) {
      form_set_error('pass', theme('item_list', array(
        'items' => $errors,
      )));
    }
  }
}