YII2场景值的使用

访客6年前PHP1589

开发的时候添加和编辑写在了一个方法里面,上传图片添加的时候需要验证为空,编辑的时候不需要,这时候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个字'],
  ];
}


相关文章

【转】TCP长连接和短连接区别

【转】TCP长连接和短连接区别

    当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放...

php程序是如何被解析的?

php程序是如何被解析的?

我们每天都在写php代码,然后往服务器上一丢,你就发现php文件就运行了,嘿,是不是很神奇,但是有没有想过,php是如何被解释执行的呢?要知道apache,nginx都是不能解析.php文件的;所以想...

Elasticsearch第二篇之数据操作

    上一篇向大家讲解了Elasticsearch的部署安装和基本设置,这篇文章就和大家一起熟悉下Elastic的数据库操作,和普通数据库不同,es库需要公告...

Yii2.0行为Behavior的理解

Yii2.0行为Behavior的理解

在说什么叫行为之前,觉得说下行为的作用比较好;使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。通过将行为绑定到一个类,可以使得类具有行为本身所具有的属性和方法;在设计原则中...

Elasticsearch按照日期聚合

Elasticsearch按照日期聚合

我们现在做的是医疗的业务,有个需求是这样的,查询出某位医生前七天的坐诊记录,并且,医生的坐诊记录是不连续的,这样就需要写一个dsl语句来实现es库的搜索首先我使用了es库中的聚合功能,按照日期去聚合,...

workerMan之心跳检测

workerMan之心跳检测

上次咱们说到,长连接应用必须加心跳检测,避免连接由于上时间没有通讯被断开其实心跳的作用有2个:1、客户端定时给服务器发送数据,防止连接由于长时间没有通讯被断开2、服务端可以通过心跳来判断客户端是否在线...

发表评论    

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