时间:2021-05-25
本文主要介绍的是关于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()方法里有,否则出错!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里
应用场景Yii2提供了AppAsset类管理静态资源,在使用Yii2布局模板时,如果想在某个页面内部写一段js并且在页面底部,如果直接使用script标签是不可
本文讲述了yii2高级应用之自定义组件实现全局使用图片上传功能的方法。分享给大家供大家参考,具体如下:此例为yii2高组应用,这里只提供一个简单的事例在yii2
本文实例讲述了YII2框架中验证码的简单使用方法。分享给大家供大家参考,具体如下:验证码的使用是比较频繁的。YII2中已经帮我们做好了封装。首先我们在控制器里创
本文主要给大家介绍了关于Yii2默认控制器设置的内容,分享了两种方法供大家参考学习,下面来一起看看详细的介绍:方法1:首先Yii2中在/vendor/yiiso