关于ThinkPHP3.2.3邮箱验证的方法 15

虽然帮助文档里有一个验证规则,但还是对于实现邮箱验账号问题的具体方法。可不可以给一个详细一点的方法... 虽然帮助文档里有一个验证规则,但还是对于实现邮箱验账号问题的具体方法。

可不可以给一个详细一点的方法
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏15(财富值+成长值)
匿名用户
2015-08-26
展开全部
<?php
    /**
* 自动验证
* @param $data 要验证的数据
* @return bool
*/
public function _validate($data){
if(empty($this->_valid)){
return true;
}
$this->error = array();
foreach($this->_valid as $k =>$v){
switch($v[1]){
case 1:
if(!isset($data[$v[0]])){
$this->error[] = $v[2];
}
if(!isset($v[4])){
$v[4] = '';
}
if(!$this->check(isset($data[$v[0]]),$v[3],$v[4])){
$this->error[] = $v[2];
return false;
}
break;
case 0:
if(isset($data[$v[0]])){
if(!$this->check($data[$v[0]],$v[3],$v[4])){
$this->error[] = $v[2];
return false;
}
}
break;
case 2:
if(isset($data[$v[0]]) && !empty($data[$v[0]])){
if(!$this->check($data[$v[0]],$v[3],$v[4])){
$this->error[] = $v[2];
return false;
}
}
break;
}
}
return true;
}

/**
* 进行规则验证
* @param $value 待验证的值
* @param $rule  使用的规则
* @param $param 参数
* @return mixed 返回的结果
*/
public function check($value,$rule,$param=''){
switch($rule){
case 'require':
return !empty($value);
break;
case 'number':
return is_numeric($value);
break;
case 'in':
return in_array($value,explode(',',$param));
break;
case 'length':
list($min,$max) = explode(',',$param);
return strlen($value) <= $max && $min <= strlen($value);
break;
case 'between':
list($min,$max) = explode(',',$param);
return $value <= $max && $min <= $value;
break;
case 'email':
//这里没有使用正则表达是去判断,而是使用了php函数判断
return (filter_var($value, FILTER_VALIDATE_EMAIL) !==false);
break;
default:
return false;
}
}

?>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式