拉拉维尔表单请求验证优先级



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

use InterventionImageFacadesImage 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'
];
}

我希望当我尝试上传一个不是图像的文件时,验证器会捕获它并返回错误。而是运行store方法中的代码,这会从干预中生成"不支持的图像类型"异常。

为什么验证器没有事先发现这一点,我怎样才能让它以这种方式工作?

在你的请求文件中试试这个:

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

当然,请随意添加您将接受的任何其他哑剧。

最新更新