Posted at

Drupal8 メールアドレス項目を必須チェックにする

More than 1 year has passed since last update.

デフォルトでユーザー追加画面のメールアドレス項目が必須チェックになっていないから、必須チェックに変更します。

今回はhook関数のhook_form_alterを使ってフォームを変更します。

モジュールファイルで以下のように使用してみました。


mymodule.module

<?php

use \Drupal\Core\Form\FormStateInterface;

function mymodule_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if ($form_id !== 'user_register_form') {
return;
}

// ユーザー追加画面の項目「メールアドレス」を必須チェックに変更
$form['account']['mail']['#required'] = TRUE;
}


まず、最初の処理のif文でユーザー追加画面以外は必須チェック適応しないように対応してます。

drupal8のデフォルトでは$form['account']['mail']['#required']FALSEなので、

TRUEを入れて上書きすることでメールアドレス項目が必須チェックなります。

今回使用したhook_form_alterは、各画面のフォーム項目のカスタマイズが色々できそうです。

以上