0

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

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

所以请知道有什么问题。我的控制器代码:

$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',
    ]);
}

请帮我解决这些错误..

4

2 回答 2

0

我认为问题是将错误的参数传递给 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',
    ]);
}
于 2021-06-16T06:32:02.200 回答
0

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

public function file_size($request){
    $validator = Validator::make($request->all(), [
            'image' => 'required',
    ]);
    return $validator;
  }
于 2021-06-16T06:36:59.240 回答