新規ユーザー登録時、パスワード再設定時のパスワード入力抜けを防ぎたい

カテゴリ ユーザ コアバージョン 7.38 関連モジュール user form

新規ユーザー登録時やパスワード再設定時、一旦ワンタイムログインリンク入のご案内メールがユーザーに送信され、そこからワンタイムログインすることになりますが、ログイン直後、アカウント情報の入力ページに遷移しますが、そのままパスワードを入力せずに「保存」してしまうユーザーが結構います。
新規ユーザー登録時、パスワード再設置時のアカウント情報ページの「新パスワード」、「新パスワードの確認」を入力必須にできませんか?

コメント

ユーザー actbrain の写真

以下のようなコードをあなたのカスタムモジュールに追加してください。
 
/**
* Implement hook_form_alter().
*/
function カスタムモジュール名_form_alter(&$form, $form_state, $form_id) {

switch ($form_id) {

case 'user_profile_form':

// パスワードリセット時、新パスワードと新パスワード確認フォームへの入力を必須にする
if (!empty($_GET['pass-reset-token'])) {
$form['account']['pass']['#required'] = TRUE;
$form['#validate'][] = 'カスタムモジュール名_password_confirm_validate';
}

}
}

// パスワードリセット時、新パスワードと新パスワード確認フォームへの入力を必須にする
function カスタムモジュール名_password_confirm_validate($form, &$form_state) {
if (empty($form_state['values']['pass'])) {
form_set_error('account', パスワードを入力して下さい。');
}
}

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル
Views 8.4x hook_views_query_alter Viewsクエリの条件式にサブクエリを追加する方法
Views 8.4x hook_views_query_alter 現在のViewsクエリを保存・再現する方法
Views Exposed Filter 8.4x hook_views_pre_view Views Exposed Formの複数単語入力(textfield)をフォーム上だけ複数行入力(textarea)にする方法
Initial 8.4x Subscriber hook_init() 〜 drupal_goto() を drupal8でやる方法
コンテンツの管理 8.4x Action カスタムアクションを作成する方法
SFTP 8.4x SFTP RSA SFTP(RSA)でファイル転送(送信)する方法
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの作成 8.4x node node保存前に色々やる方法
Token 8.4x Token カスタムモジュールからtokenを提供する方法(drupal8版)
コンテンツの作成 8.4x コンテンツ作成時のフォームレイアウトの変更
video 8.4x video map 動画上にクリッカブルマップを作成する方法
PHP 8.3x PHP drupa8でhook_init()する方法
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
Custom module 8.3x Custom module Twig Block Cache カスタムモジュールのレンダリングを非キャッシュ化する方法
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
テーマ 8.3x Core Twig開発用の設定
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
PhpStorm 7.50 LocalForward PhpStormから踏み台を使う

ページ