YII2场景值的使用

访客6年前PHP1533

开发的时候添加和编辑写在了一个方法里面,上传图片添加的时候需要验证为空,编辑的时候不需要,这时候yii的场景值能够解决这个问题:

控制器中

$model = new NewsForm();
$model->scenario = 'add';//指定场景值

模型中

//接下来是model的写法
public function rules()
{
  return [
    [['img'], 'file'],
    [['img'],'required','message'=>'{attribute}不能为空','on' => ['add']],//此处指定只有场景为add时才验证
    [['title','content','source','abstract'],'required','message'=>'{attribute}不能为空'],
    ['abstract','string','max'=>5,'min'=>20, 'tooShort'=>'长度需大于5个字','tooLong'=>'长度不能大于20个字'],
  ];
}


相关文章

redis持久化的两种方式

redis持久化的两种方式

redis为了内存数据的安全考虑,会把内存中的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)的里边。数据保存到硬盘的过程就称为“持久化”效果。redis支持...

PostgreSQL教程之安装连接

PostgreSQL教程之安装连接

新公司需要用PostgreSQL数据库,而且网上的资料比较少,先自己整理一下;一、PostgreSQL是什么?PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全...

Yii2.0整合ueditor并上传图片到七牛云

Yii2.0整合ueditor并上传图片到七牛云

某个项目要做一个文章模块,用到Ueditor,并且ue中的图片要上传到七牛,所以总结下步骤;1、Yii2.0下载ueditor for Yii2.0和七牛composer require&n...

Yii2使用phpOffice导出excel报错

Yii2使用phpOffice导出excel报错

线上导出excel的时候,是不是出现无法访问,如下图因为导出的数据量比较大,我怀疑是内存溢出,于是增加了内存分配值,发现仍然报错,于是我查了下日志,如下2020-08-14 21:31:12...

csrf攻击原理及防范

csrf攻击原理及防范

CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。在不少的...

PHP程序猿食用RabbitMQ方法

消息队列是什么?“消息队列”是在消息的传输过程中保存消息的容器。“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。