如何在 Laravel 中使用 exclude_if 验证数据字段?
How to validate a data field with exclude_if in Laravel?
我想验证 thumbnail 字段。当用户上传 mime 类型为 pdf 的文件时,需要缩略图。然后,如果用户上传 mime 类型不是 pdf 的照片。缩略图字段不是必需的。
这是我试过的代码:
'file' => 'required|mimes:jpg,jpeg,pdf|max:2048',
'thumbnail' => 'exclude_if:file,mimes:pdf|required'
我知道 thumbnail 上的验证不正确。谁能帮帮我?
所以如果 mime 类型是 pdf,你基本上需要缩略图,你可以使用 required_if 验证。
先加
use Illuminate\Validation\Rule;
然后,
Validator::make($request->all(), [
'file' => 'required|mimes:jpg,jpeg,pdf|max:2048',
'thumbnail' => Rule::requiredIf(function () use ($request) {
if ($request->file->getMimeType() == 'application/pdf') {
return true;
} else return false;
}),
]);
我想验证 thumbnail 字段。当用户上传 mime 类型为 pdf 的文件时,需要缩略图。然后,如果用户上传 mime 类型不是 pdf 的照片。缩略图字段不是必需的。
这是我试过的代码:
'file' => 'required|mimes:jpg,jpeg,pdf|max:2048',
'thumbnail' => 'exclude_if:file,mimes:pdf|required'
我知道 thumbnail 上的验证不正确。谁能帮帮我?
所以如果 mime 类型是 pdf,你基本上需要缩略图,你可以使用 required_if 验证。 先加
use Illuminate\Validation\Rule;
然后,
Validator::make($request->all(), [
'file' => 'required|mimes:jpg,jpeg,pdf|max:2048',
'thumbnail' => Rule::requiredIf(function () use ($request) {
if ($request->file->getMimeType() == 'application/pdf') {
return true;
} else return false;
}),
]);