0

drupalでwebformを使用してユーザーのメールアドレスを取得していますが、ユーザーがgmail、yahoo、rediffmailなどの無料のメールを入力できるように制限したいと思います。企業のメールのみを受け入れる必要があります。誰かがそれを行う方法を教えてもらえますか?私はこれを手に入れました無料の電子メールアカウントに一致する正規表現を書く方法は?stackoverflowにありますが、Webフォームの電子メールフィールドに実装する方法がわかりません。

4

1 に答える 1

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.'));
   }
}
于 2010-06-30T07:51:22.320 に答える