デフォルトでユーザー追加画面のメールアドレス項目が必須チェックになっていないから、必須チェックに変更します。
今回は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
は、各画面のフォーム項目のカスタマイズが色々できそうです。
以上