我在drupal中使用webform捕获用户的电子邮件地址,但我想限制用户输入免费电子邮件,如gmail,yahoo,rediffmail等,只接受公司电子邮件。谁能告诉我怎么做?我在stackoverflow中得到了这个How to write regular expression to match free email accounts?,但是不知道如何在webform电子邮件字段中实现。
答案 0 :(得分:0)
使用hook_form_alter()。实际上hook_form_FORM_ID_alter设置'element_validate'属性。
function example_data_form_user_register_alter(&$form,&$form_state) {
$form['mail']['#element_validate'] = 'example_mail_validate';
}
function example_mail_validate($element, &$form_state) {
if ( -- Whatever condition you like -- ) {
form_error($element, t('Free email is not allowed.'));
}
}