yii验证规则的on适用场景设置 $model->setScenario('a');
2013-08-09 10:07
232 查看
我之前在朋友的公司拿到他们oa的代码,发现是用Yii写的,oa系统比较简单,但是程序员对Yii的运用比较好,我拿来学习一下。如果有需要,我可以私下分享这个程序,因为是人家的功劳,不在网上公布代码了,只作为学习参考用。
今天遇到的问题是Yii验证规则的适用场景问题,Yii的验证规则如果加上on表示这些验证规则只能在这个场景里面适用,例如:array('realname,telephone,company', 'required', 'on'=>'userinfo'),很容易理解。但是这个on怎么设置呢。我找了那个oa系统里面的代码,发现在有一些控制器的action里面有这样一个代码:
具体点怎样运用呢?
比如如果我有一个user的controller,里面有一个userinfo的个人信息修改的动作,里面有用户名、地址等个人信息的输入框,但是那些用户名这些输入框的验证我只需要在userinfo这个action里面执行,这样就直接在action里面增加这个代码就可以了。然后修改你的验证规则。验证规则和这个场景设置的名字要一致,不然验证会忽略的。我搞了一阵子才发现这个问题。贴出来让大家了解一下
今天遇到的问题是Yii验证规则的适用场景问题,Yii的验证规则如果加上on表示这些验证规则只能在这个场景里面适用,例如:array('realname,telephone,company', 'required', 'on'=>'userinfo'),很容易理解。但是这个on怎么设置呢。我找了那个oa系统里面的代码,发现在有一些控制器的action里面有这样一个代码:
$model->setScenario('userinfo');我一开始都不明白是什么意思,直接复制过去了。今天我才发现这个setScenario的功能就是设置action的场景。
具体点怎样运用呢?
比如如果我有一个user的controller,里面有一个userinfo的个人信息修改的动作,里面有用户名、地址等个人信息的输入框,但是那些用户名这些输入框的验证我只需要在userinfo这个action里面执行,这样就直接在action里面增加这个代码就可以了。然后修改你的验证规则。验证规则和这个场景设置的名字要一致,不然验证会忽略的。我搞了一阵子才发现这个问题。贴出来让大家了解一下
相关文章推荐
- Yii框架中的rules中的验证规则场景,'on'=>'search'表示什么?
- yii_1_1_17_8(模型规则与标签设置开启前台验证-2016-2-11)
- Yii验证规则总结。
- 为speedphp最新版添加 仿Yii 的简易版 数据验证 支持不同场景,自定义回调
- PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
- yii_1_1_17_5(验证码使用与规则设置-2016-2-9)
- 关于后盾网yii框架的学习小结(5)--验证码的使用与规则的设置,为后台模块设置独立的布局
- Yii2.0 rules验证规则集合
- YII开发技巧分享——模型(models)中rules自定义验证规则
- Yii验证规则总结。
- Yii 自定义表单验证规则和客户端验证
- YII 验证规则
- PHP Yii框架之表单验证规则大全
- PHP Yii框架之表单验证规则大全
- yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
- Yii CModel中rules验证规则
- From 验证 设置 <deny user="?"> 无法显示验证码
- Yii2.0 rules验证规则大全
- CI设置表单验证规则
- 关于后盾网yii框架的学习小结(5)--验证码的使用与规则的设置,为后台模块设置独立的布局