介绍
这期内容当中小编将会给大家带来有关使用yii2怎么在控制器中验证请求参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强>使用方法(实现效果)强>
namespace 前端控制器\ \ api; use , yii \ web \控制器; use 常见\ \ app \ ParamsValidateService服务; class ArticleController  extends 控制器 {//,才能文章列表 public 才能;function  actionList () {才能 ,,,PVS 美元;=,new ParamsValidateService (); valid 美元,,,,=,pv→美元validate (\ Yii:: $应用→→请求得到(),( ,,,,,(& # 39;category_id添加# 39;,,& # 39;需要# 39;], ,,,,,(& # 39;category_id添加# 39;,,& # 39;整数# 39;], ,,,,,(& # 39;关键字# 39;,,& # 39;字符串# 39;], ,,,); ,,,if (! $有效),{ ,,,,,这个→美元apiError(1001年,美元pv→getErrorSummary(真)); ,,,} ,,,//? ,,}//才能,新增文章 public 才能;function  actionPost () {才能 ,,,PVS 美元;=,new ParamsValidateService (); valid 美元,,,,=,pv→美元validate (\ Yii:: $应用→→请求得到(),( ,,,,,[[& # 39;category_id添加# 39;,,& # 39;标题# 39;,,& # 39;内容# 39;],,& # 39;需要# 39;], ,,,,,(& # 39;category_id添加# 39;,,& # 39;整数# 39;], ,,,,,[[& # 39;标题# 39;],,& # 39;字符串# 39;,,& # 39;马克斯# 39;,=祝辞,64), ,,,,,[[& # 39;内容# 39;],,& # 39;字符串# 39;], ,,,); ,,,if (! $有效),{ ,,,,,这个→美元apiError(1001年,美元pv→getErrorSummary(真)); ,,,} ,,,//? ,,}//,才能文章删除 public 才能;function  actionDelete () {才能 ,,,PVS 美元;=,new ParamsValidateService (); valid 美元,,,,=,pv→美元validate (\ Yii:: $应用→→请求得到(),( ,,,,,(& # 39;article_id& # 39;,, & # 39;需要# 39;], ,,,,,(& # 39;article_id& # 39;,, & # 39;整数# 39;], ,,,); ,,,if (! $有效),{ ,,,,,这个→美元apiError(1001年,美元pv→getErrorSummary(真)); ,,,} ,,,//? ,,} }
<>强实现方法强>
定义参数验证模型
定义参数验证模型<代码>,ParamsValidateModel> 代码,继承,<代码> yii \ db \ ActiveRecord> 代码,重写<代码>,属性()代码>方法,主要功能:
- <李>
验证规则可从对象外部进行设置。
李> <李>从验证规则中获取可赋值的属性。
李>& lt; php ? namespace 常见\ \模型应用; use , yii \ db \ ActiveRecord; class ParamsValidateModel  extends ActiveRecord { ,/* * ,,*,@var array 验证规则 ,,*/private 才能;_rules 美元;=,[]; private 才能;_attributes 美元;=,[];//才能,设置验证规则 public 才能;function  setRules(规则) {才能 ,,,这个→美元_rules =,美元规则; ,,,foreach (rules 美元;as 项目美元),{ ,,,,,这个→美元_attributes =, array_unique (array_merge ($ this→_attributes,,(数组)$ item [0])); ,,,} ,,}//,才能重写获取验证规则 public 才能;function 规则() {才能 ,,,return $ this→_rules; ,,}//才能,设置可用属性列表 public 才能;function 属性() {才能 ,,,return $ this→_attributes; ,,} }
定义参数验证服务类
定义参数验证服务类,主要功能有:
- <李>
设置参数列表和参数规则列表。
李> <李>使用,参数验证模型进行验证和存储验证错误消息。
李> <李>使用魔术方法获取,参数验证模型中的验证错误消息。
李>& lt; php ? namespace 常见\ app \服务; use 常见\ \ app \ ParamsValidateModel模型; use yii \基地\组件;/* * ,* Class ParamsValidateService ,* @package 常见\ app \服务 ,* @method array  getErrors (\ string $属性) ,* @method array  getFirstErrors () ,* @method array  getFirstError (\ string $属性) ,* @method array  getErrorSummary (\ boolean showAllErrors美元) ,*/class ParamsValidateService  extends 组件 { ,/* * ,,*,@var ParamsValidateModel 模型 ,,*/private 才能;model 美元;=,空; null null null null null null null null null null null null null null null null null null null null null null null null null null null null使用yii2怎么在控制器中验证请求参数