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 相关文章推荐
ajax实现无刷新分页(php)
Jul 18 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
php设计模式 Command(命令模式)
Jun 26 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
PHP分页类集锦
Nov 18 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
Python多线程下载文件的方法
2015/07/10 Python
python目录与文件名操作例子
2016/08/28 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
Django返回HTML文件的实现方法
2020/09/17 Python
香港零食网购:上仓胃子
2020/06/08 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
医学实习生自我鉴定
2013/12/12 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
公司感谢信范文
2015/01/22 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server