我不明白为什么,但Drupal 8核心注册表允许创建一个已经使用电子邮件地址的新帐户!
我该怎样防止这种情况?
答案 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函数
检查此用户电子邮件是否存在于数据库中如果用户存在,则设置表单错误“已经收到电子邮件地址。”
我希望它对你有用。