【问题标题】:Method Illuminate\Http\UploadedFile::validate does not exist方法 Illuminate\Http\UploadedFile::validate 不存在
【发布时间】:2021-08-31 23:04:11
【问题描述】:

大家好,我正在尝试使用自定义包在 laravel 中获取验证文件,但我给出了错误

“方法 Illuminate\Http\UploadedFile::validate 不存在。”

所以请知道是什么问题。 MyController 代码:

$files=$request->file('image');
if($files){ 
    $oGreetr = new Greetr();
    return $oGreetr->file_size($files);
}

包装代码:

public function file_size($file){
    //return $file->getClientOriginalExtension();
    
    return $file->validate([
        'image' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
}

请帮我解决这些错误..

【问题讨论】:

  • $this->validate() 有效

标签: php laravel laravel-package


【解决方案1】:

由于 $file 变量没有验证功能。您可以使用以下方法来验证自定义变量。另外,使用 Validator 门面。

public function file_size($request){
    $validator = Validator::make($request->all(), [
            'image' => 'required',
    ]);
    return $validator;
  }

【讨论】:

    【解决方案2】:

    我认为问题是将错误的参数传递给 package 方法。 $request->file 没有验证方法。所以你必须将$request 传递给打包方法

    $files=$request->file('image');
    if($files){ 
        $oGreetr = new Greetr();
        return $oGreetr->file_size($request);
    }
    

    在包装中

    public function file_size($request){
       
        
        return $request->validate([
            'image' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 2021-02-13
      • 2021-01-15
      • 1970-01-01
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      相关资源
      最近更新 更多