2014-12-23 10:14:07 9686次浏览 10条回答 1 悬赏 5 金钱

如题定义了skipOnEmpty为false后,文件也选择了,提交表单后反而提示文件未上传!, 'skipOnEmpty'=>false,'uploadRequired'=>'请上传文件!',规则未生效!

public function rules()
{
    return [
        [['title','content'], 'required','message'=>"{attribute}不能为空"],
        ['content','string'],
        ['title','string', 'max' => 225],
        ['image','file',
            'extensions'=>['jpg','png','gif'],'wrongExtension'=>'只能上传{extensions}类型文件!',
            'maxSize'=>1024*1024*2,'tooBig'=>'文件上传过大!',
            'skipOnEmpty'=>false,'uploadRequired'=>'请上传文件!',
            'message'=>'上传失败!'
         ]
    ];
}
  • 回答于 2015-03-24 00:13 举报

    同样的问题啊,楼主解决了吗?

  • 回答于 2015-09-29 17:21 举报

    设置了验证规则就必须在使用的时候,过滤一遍验证规则,要不然就是无尽是的失败.

    extensions

     function uploadImage($model,$userid) { 
                $验证模块=new 验证模块;
                $model->file = UploadedFile::getInstance($验证模块, '验证模块里的字段 例如 file');
                $name=$model->file->extension;   
    ...   
                $user_avatar='../uploads/  //格式化图片路径  
                $model->file->saveAs($图片字段);
                return ...;
     }
    
  • 回答于 2016-05-20 23:41 举报

    同样的问题啊,楼主解决了吗?

  • 回答于 2016-06-02 13:30 举报

    大哥,这问题怎么解决的

  • 回答于 2016-08-25 11:12 举报

    是不是因为视图必须用activeForm?

    1 条回复
    回复于 2016-10-11 11:34 回复

    基本上是的

  • 回答于 2016-10-11 11:34 举报

    使用 ActiveForm 创建表单,或者上传字段命名为 UploadForm[fieldName]
    也就是前面是模型名称,中括号里是上传的字段名。。

  • 回答于 2016-11-24 13:42 举报

    print_r(UploadedFile::getInstance()),看看里边也没有接收到图片信息。

  • 回答于 2016-12-04 11:05 举报

    同样的问题,楼主解决了吗?

  • 回答于 2017-06-15 11:09 举报

    我也出现这样的问题,求解决

  • 回答于 2019-03-03 11:29 举报

    这个问题是 验证规则里少写了一条 "maxFiles"=>4 //4是依据情况来,因为yii2 默认的 maxFiles=1

您需要登录后才可以回答。登录 | 立即注册
zfeig
主管

zfeig

注册时间:2014-07-29
最后登录:2015-09-29
在线时长:36小时6分
  • 粉丝55
  • 金钱75
  • 威望30
  • 积分735

热门问题