如何防止用户使用Drupal 8中已经使用的电子邮件创建帐户?

时间:2017-04-22 11:14:22

标签: drupal-8

我不明白为什么,但Drupal 8核心注册表允许创建一个已经使用电子邮件地址的新帐户!

我该怎样防止这种情况?

1 个答案:

答案 0 :(得分:0)

我在Drupal 8安装中检查了这个问题,但我找不到这个问题。

但如果您遇到此问题,请在用户注册表单中通过hook_form_alter创建自定义表单验证。

function YOURMODULENAME_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id){

 if($form_id == 'user_register_form'){
   $form['#validate'][] = 'my_custom_validate';
 }

}

$form['#validate'][] = 'my_custom_validate';

并通过user_load_by_mail函数

检查此用户电子邮件是否存在于数据库中

如果用户存在,则设置表单错误“已经收到电子邮件地址。”

我希望它对你有用。