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 相关文章推荐
FleaPHP的安全设置方法
Sep 15 PHP
php email邮箱正则
Oct 08 PHP
phpMyadmin 用户权限中英对照
Apr 02 PHP
PHP开发需要注意的安全问题
Sep 01 PHP
php学习笔记 面向对象的构造与析构方法
Jun 13 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
PHP基于递归算法解决兔子生兔子问题
May 11 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中json_decode()和json_encode()的使用方法
2012/06/04 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
php curl发送请求实例方法
2019/08/01 PHP
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
Python编写一个闹钟功能
2017/07/11 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
python文件排序的方法总结
2020/09/13 Python
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
学生个人求职自荐信格式
2013/09/23 职场文书
毕业生的自我评价范文
2013/12/31 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS