Laravel与Vue图片表单验证问题:非必填字段验证失败
解决Laravel非必填图片字段的MIME验证问题
问题出在mimes验证规则默认要求字段必须存在,哪怕字段是非必填项。只需给image字段的验证规则加上nullable,就能让无图片提交的场景通过验证。
修改后的验证代码
request()->validate([ 'name' => ['required'], 'type' => ['required'], 'master_id' => ['required'], 'description' => ['required'], 'whom_id' => ['required'], 'short_description' => ['required'], 'image' => ['nullable', 'mimes:jpg,bmp,png', 'max:3072'], ]);
规则说明
nullable:允许字段值为null,用户不上传图片时,该字段不会触发后续的mimes和max验证mimes:jpg,bmp,png:确保上传图片时,文件类型符合要求max:3072:限制图片大小不超过3MB(3072KB)
你现有上传逻辑里的if(request()->image)已经处理了无图片的情况,只需调整验证规则即可解决表单无法提交的问题。
内容的提问来源于stack exchange,提问作者betelgause
相关产品推荐
相关产品推荐

