Drupal 7 开发内部培训资料, 分头诗人

drupal7注册时排除某些邮箱

赞成!
0
否决!

我用的是drupal7,

用户注册时,填写用户名和邮箱,然后给用户发邮件,通过链接设置密码。

我就是要在用户填写邮箱时,不让某些邮箱注册,比如,用户注册,不让163的邮箱注册。

我在baidu.com,google.com上找了,没有找到结果,然后到drupal.org上也找了,都没有找到如何实现它,请各们网站帮忙。感谢。

2 个回答

赞成!
1
否决!

注册邮箱限制,其实很简答的,你通过钩子 hook_form_alter 修改注册的表单,然后在 表单的 判断里面通过正则表达式增加规则就可以实现限制。

赞成!
0
否决!

多谢,问题已经解决,代码如下。下面的代码是写在wpy模块里的

//表单验证
function wpy_form_alter(&$form, $form_state, $form_id) {
if( $form_id == 'user_register_form' && isset($form['profile_guide'])) {//是导游注册
  $form['mail'] = array( 
   '#element_validate' => array('_wpy_validate_profile_guide_email')
  );
}
}
function _wpy_validate_profile_guide_email($form_element, &$form_state) {
$value = trim($form_state["values"]["mail"]);
if(substr($value,-4)!=".edu"){
  form_error($form_element, t('End email should have been ".edu"', array('%value' => $value)));
  //form_error($form_element, t('%value End with ".edu"', array('%value' => $value)));
}
}