Yii2中简单的场景使用介绍


Posted in PHP onJune 02, 2017

本文主要介绍的是关于Yii2简单场景使用的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

直接上代码(主要部分):

模型层:

public function rules()
{
 return [
  [['name', 'account', 'pwd'], 'string', 'max' => 11],
  ['account','required','message'=>'用户名不能为空'],
  ['pwd','required','message'=>'密码不能为空','on'=>'update']
 ];
}

控制器:

$model = new User();
if(isset($_POST['User'])){
 $model -> attributes = Yii::$app->request->post('User');
 $model -> save();
}

这个时候在控制器没有调用任何场景。他的结果是:用户名验证,密码不验证

如果在控制器加上一句$model->scenario='update';其结果是:用户名,密码都验证了

如果这个时候再在模型加上几句代码:

public function scenarios()
{
 return [
  'update'=>['pwd'],//在该场景下的属性进行验证,其他场景和没有on的都不会验证
 ];
}

其结果是:用户名没有验证,密码验证了

还有要注意如果你在模型里重写了scenarios()方法,在控制器调用了场景,那调用的场景名称必须在scenarios()方法里有,否则出错!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP中的加密功能
Oct 09 PHP
PHP循环获取GET和POST值的代码
Apr 09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
PHP中的session安全吗?
Jan 22 PHP
twig模板常用语句实例小结
Feb 04 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP7变量处理机制修改
Mar 09 PHP
Yii 2.0中场景的使用教程
Jun 02 #PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 #PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 #PHP
php从数据库中读取特定的行(实例)
Jun 02 #PHP
php获取数据库结果集方法(推荐)
Jun 01 #PHP
php获取数据库中数据的实现方法
Jun 01 #PHP
PHP用户注册邮件激活账户的实现代码
May 31 #PHP
You might like
PHP XML备份Mysql数据库
2009/05/27 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
微信小程序实现留言板(Storage)
2018/11/02 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
python处理json数据中的中文
2014/03/06 Python
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
在Django中同时使用多个配置文件的方法
2015/07/22 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
市三好学生主要事迹
2014/01/28 职场文书
校园广播稿精选
2014/10/01 职场文书
刮痧观后感
2015/06/05 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
Python数据结构之队列详解
2022/03/21 Python