如何解决如何在 Drupal 8 中通过事件订阅者在用户注册表单上添加自定义验证
如何在 Drupal 8 中通过事件订阅者在 User-Registration-Form 上添加自定义验证方法 喜欢:电子邮件字段的自定义验证,只接受原始电子邮件地址。
解决方法
要向表单添加自定义验证,您不应使用 Event subscriber
,而应使用 hook_form_FORM_ID_alter。
在您的自定义模块文件中(假设它是 your_module.module):
function your_module_form_user_register_form_alter(&$form,$form_state,$form_id) {
$form['#validate'][] = 'your_custom_validate';
}
function your_custom_validate(&$form,$form_state) {
$mail = $form_state->get('mail');
if (...) { // put your logic to validate $mail here
$form_state->setErrorByName('mail','Email is invalid!');
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。