web-dev-qa-db-ja.com

「新しいパスワードのリクエスト」フォームの検証を変更する方法

他のデータベースでも資格情報がチェックされるように、hook_form_FORM_ID_alterを使用してログイン手順を適合させました。次に、忘れたパスワードの検証も変更する必要があります。このフォームのFORM_IDはuser_passのようですが、そのために定義したフックがトリガーされません。また、hook_form_alterを使用してどのフォームがトリガーされたかを確認しようとしましたが、そのフックも起動しません(たとえば、ログインの場合)。

「新しいパスワードのリクエスト」は特別なフォームですか?このフォームの検証ハンドラーを変更することは可能ですか?

Drupal 7.を使用しています。

6
Whiskey

このフォームについて特別なことは何もありません。他のフォームと同じように変更できます。

function MYMODULE_form_user_pass_alter(&$form, &$form_state) {
  $form['#validate'][] = 'MYMODULE_user_pass_validate';
}

function MYMODULE_user_pass_validate(&$form, &$form_state) {
  // Your code here
}

完全に問題なく動作します。

14
Maciej Zgadzaj