使用yii2怎么在控制器中验证请求参数

  介绍

这期内容当中小编将会给大家带来有关使用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怎么在控制器中验证请求参数