YII2场景值的使用

访客5年前PHP1373

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


相关文章

php程序是如何被解析的?

php程序是如何被解析的?

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

php redis Hash操作

//为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。 $redis->hSet('user', ...

Yii2使用phpOffice导出excel报错

Yii2使用phpOffice导出excel报错

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

php用curl模拟post请求接口的坑

php用curl模拟post请求接口的坑

我们的接口是用java实现的,然后我需要用php去调用下接口,请求方式为post,需要传一个数组过去(不是json_encode的那种),之前的时候,是这么写的$post_params =&...

五十个小技巧提高PHP执行效率

    在项目开发过程中,经常遇到了一些PHP处理程序性能底下的情况,程序运行在centos+nginx环境,虽然这个有很多的原因如:服务器本身配置,运行环境n...

Laravel打印sql

在AppServiceProvider.php的boot方法中,增加以下代码DB::listen(     function ($sql) ...

发表评论    

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