Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel表单请求验证优先级_Php_Laravel_Validation_Intervention - Fatal编程技术网

Php Laravel表单请求验证优先级

Php Laravel表单请求验证优先级,php,laravel,validation,intervention,Php,Laravel,Validation,Intervention,在我的Laravel 5.6应用程序中,我有一个带有store方法的控制器: use Intervention\Image\Facades\Image as ImageHandler; public function store(StoreFoo $request) { if ($request->hasFile('image')) { $toResize = ImageHandler::make($request->validated()->file

在我的Laravel 5.6应用程序中,我有一个带有
store
方法的控制器:

use Intervention\Image\Facades\Image as ImageHandler;

public function store(StoreFoo $request)
{
    if ($request->hasFile('image')) {
        $toResize = ImageHandler::make($request->validated()->file('image')->getRealPath());
    }
}
我的
StoreFoo
类验证
image
字段是否为图像:

public function rules()
{
    return [
        'image' => 'image'
    ];
}
我希望当我试图上传一个不是图像的文件时,验证器会捕获它并返回一个错误。相反,将运行
存储
方法中的代码,这会因干预而产生“不受支持的图像类型”异常


为什么验证器事先没有捕捉到这一点,我如何才能让它以这种方式工作?

在您的请求文件中尝试以下操作:

'image' => 'nullable|file|mimes:jpeg,png,jpg',

当然,您可以随意添加您将接受的任何其他MIME。

您正在上载的文件的名称和类型是什么?@RossWilson
test.mp3
对不起,我已经更新了我的问题。validated()返回一个数组,这不是正确的用法。FormRequest对象必须在到达您的控制器方法之前通过验证,因此出于某种原因,它必须通过验证。@Devon这是有用的信息,谢谢。但我看不出它是如何通过
图像
规则的。