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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
PHP 模拟$_PUT实现代码
Mar 15 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
php格式化json函数示例代码
May 12 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
PHP绕过open_basedir限制操作文件的方法
Jun 10 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 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 巧用数组降低程序的时间复杂度
2010/01/01 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
浅析php工厂模式
2014/11/25 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
jquery中done和then的区别(详解)
2017/12/19 jQuery
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
python求最大连续子数组的和
2018/07/07 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
拓展培训心得体会
2014/01/04 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
二年级学生期末评语
2014/12/26 职场文书
停课通知书
2015/04/24 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书