【发布时间】:2019-11-09 19:17:22
【问题描述】:
我有一个 Laravel 程序,可以保存表单数据并上传几张图片。在验证中,有两个规则。图片是必需的,并且必须是图片类型(jpg、jpeg、png)。但是,验证只检查文件类型而不检查“必需”。即使没有图像,它也允许用户提交。为什么?
public function updateImages(Request $request, $id)
{
$validatedData = $request->validate([
'image' => 'required',
'image.*' => 'image|mimes:jpeg,png,jpg|max:2048',
],
[
'image.*.image' => 'Format Error: Please uplaod image in a png or jpg format',
]);
$item = Post::find($id);
$existing_count = Photo::where('post', $item->id)->count();
$countrequest = sizeof($request->file('image'));
$count = $existing_count + $countrequest;
if ($count >= 6) {
return back()
->withInput()
->withErrors(['Only 5 images can be uploaded!']);
}
$upload = $this->imageUpload($item, $request);
return redirect()->back()->with('message', 'Image Updated');
}
【问题讨论】:
-
你为什么要
image.*?为什么不把所有的验证放在image下?
标签: laravel laravel-5.8