Поле электронной почты Drupal ограничивает бесплатную электронную почту - PullRequest
0 голосов
/ 29 июня 2010

Я использую webform в drupal для захвата адресов электронной почты пользователей, но я хочу ограничить пользователя вводить бесплатные электронные письма, такие как gmail, yahoo, rediffmail и т. Д., Следует принимать только корпоративную электронную почту. Кто-нибудь, пожалуйста, дайте мне знать, как это сделать? Я получил это Как написать регулярное выражение для сопоставления бесплатных учетных записей электронной почты? в stackoverflow, но не знаю, как реализовать в поле электронной почты веб-формы.

1 Ответ

0 голосов
/ 30 июня 2010

использовать 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.'));
   }
}
...