/**
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
/*
格式 $this->_valid = array(
array('验证的字段名',0/1/2(验证场景),'报错提示','require/in(某几种情况)/between(范围)/length(某个范围)','参数')
);
array('goods_name',1,'必须有商品名','requird'),
array('cat_id',1,'栏目id必须是整型值','number'),
array('is_new',0,'in_new只能是0或1','in','0,1')
array('goods_breif',2,'商品简介就在10到100字符','length','10,100')
*/
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];
return false;
}
if(!$this->check($data[$v[0]],$v[3])) {
$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;
}
}
}
}
return true;
}
public function getErr(){
return $this->error;
}
protected function check($value,$rule='',$parm='') {
switch($rule) {
case 'require':
return !empty($value);
case 'number':
return is_numeric($value);
case 'in':
$tmp = explode(',',$parm);
return in_array($value,$tmp);
case 'between':
list($min,$max) = explode(',',$parm);
return $value >= $min && $value <= $max;
case 'length':
list($min,$max) = explode(',',$parm);
return strlen($value) >= $min && strlen($value) <= $max;
default:
return false;
}
}
PHP表单提交数据 - 自动验证合法性
最新推荐文章于 2021-04-20 10:50:27 发布