You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeError非法偏移类型:图片MIME类型验证器报错问询

错误原因

验证规则数组的键使用错误:你把$request->file('image1')这类UploadedFile对象作为验证规则的键,而Laravel验证器要求规则的键必须是表单字段名(字符串类型)。PHP数组的键仅支持整数或字符串,用对象作为键会直接触发「Illegal offset type」类型错误。

解决代码

将验证规则的键改为表单字段名(字符串),修正后的代码如下:

$validate = Validator::make($request->all(), [
    'image1' => 'required|mimes:jpg,png,jpeg',
    'image2' => 'required|mimes:jpg,png,jpeg',
    'image3' => 'required|mimes:jpg,png,jpeg',
    'image4' => 'required|mimes:jpg,png,jpeg',
]);

if ($validate->fails()) {
    return response($validate->errors(), 400);
}
原理说明

Laravel的Validator::make()方法接收的验证规则数组,是表单字段名(字符串)=> 验证规则的关联结构。验证器会自动从请求中匹配对应字段名的文件,执行mimes规则校验,不需要手动传入文件对象。

内容的提问来源于stack exchange,提问作者Aziz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:57:22