php - Laravel 表单请求验证优先级
问题描述
在我的 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'
];
}
我希望当我尝试上传不是图像的文件时,验证器会捕获它并返回错误。而是store
运行该方法内的代码,这会从 Intervention 产生“不支持的图像类型”异常。
为什么验证器没有事先捕捉到这一点,我怎样才能让它以这种方式工作?
解决方案
在您的请求文件中尝试此操作:
'image' => 'nullable|file|mimes:jpeg,png,jpg',
当然,您可以随意添加您愿意接受的任何其他哑剧。
推荐阅读
- vb.net - 在 vb.net 中乘以 2 百分比的价格和利润
- python-3.x - 如何隐藏“CombinedMultiDict([ImmutableMultiDict([]),ImmutableMultiDict([(”)python3烧瓶
- react-router - 具有下一个导出模式的动态路由
- java - 为什么我的图形叠加层没有出现在输入图像上?
- sas - 根据有效性范围聚合多个观察值
- reactjs - Material-UI + TypeScript(在“ClassNameMap<“container”|“navBar”|“section0”类型上找不到带有“string”类型参数的索引签名。)
- java - 将一维数组格式化为表格时遇到问题
- memory - 操作系统是否检查每条指令?
- r - 用多个箱线图制作一个图,但以列作为因素
- .net - 将日期从 Azure 表存储转换回用户的时区