ユーザー登録フォームのパスワード確認フィールドを削除する方法


7

パスワード確認欄を削除したい。ユーザーがパスワードを1回だけ入力する場合は問題ありません。再度確認する必要はありません。

このコードを使用しています

<?php
function dp_form_alter(&$form, &$form_state, $form_id)  {
    switch ($form_id)  {
        case 'user-register-form': 
        $form['account']['pass']['#type'] = "password"; 
            break;
     }
  }

どこが間違っているのか教えてください。動いていない。:(



ケース「user-register-form」の問題ですか?
Nick Dave

回答:


12

次のコードは、Drupal 7で動作します。

/**
 * Implements hook_form_FORM_ID_alter().
 */
function MODULE_form_user_register_form_alter(&$form, &$form_state, $form_id) {
    $form['account']['pass']['#type'] = 'password';
    $form['account']['pass']['#title'] = 'Password';
}

ユーザー登録フォームとユーザープロファイルフォームの両方にパスワード確認フィールドがあり、同じフォームではないことに注意してください。すべてのパスワード確認フィールドを削除する場合は、両方のフォームを変更する必要があります。


1

両方のフォームをカバーし、正確な説明も作成する私のソリューション。

/**
 * Implements hook_form_alter().
 */
function MYMODULE_login_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'user_register_form' || $form_id == 'user_profile_form') {
    $form['account']['pass']['#type'] = 'password';
    $form['account']['pass']['#title'] = 'Password';
    $form['account']['pass']['#description'] =  t('To change the current user password, enter the new password.');
    if ($form_id == 'user_register_form') {
      $form['account']['pass']['#description'] =  t('Provide a password for the new account.');
    }
  }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.