php - yii 控制器中检查请求参数是否正确
本文介绍了php - yii 控制器中检查请求参数是否正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
YII 中仅提供了model中进行规则验证,如何在控制器中完成参数的验证呢?
我说的不一定是验证post请求,可能是一个get请求或者update请求。 此时想方便的检查请求的参数是否符合规范,该如何处理?
解决方案
之前也要做一个接口验证的功能,但是model的验证功能很有限,只能做已经有的字段验证,想要验证 比如分页 page,pagesize等参数就傻了
后来找了个验证框架加进来GUMP
代码范例如下:
/**
* @title 用户搜索参加活动的服务商
*/
public function validate_doCustomRestGetList(){
$is_valid = GUMP::is_valid($_GET, array(
'text' => 'max_len,200',//搜索文本条件
'limit'=>'integer',//每页显示条数
'page'=>'integer',//当前页码
));
if(!($is_valid === true)) {
$this->renderFail(ErrorConst::error(ErrorConst::ERR_PARAM));
}
}
//这个是具体的controller函数
public function doCustomRestGetList(){
$list = BestPartner::partnerlist(BestPartner::STATE_APPROVED,null,$this->getQuery('text'),$this->getQuery('page'),$this->getQuery('limit'));
$this->renderSuccess($list);
}
这个也有不好的地方:
参数规则需要重新写
对于特别结构复杂的校验支持不好
优点也有很多:
校验规则自定义,可以无限添加
校验框架
这篇关于php - yii 控制器中检查请求参数是否正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文