laravel验证器未验证图像图像尺寸正确

问题描述 投票:0回答:1

我正在尝试验证图像的宽度和高度。即使用户选择了正确分辨率的图像,也会出现错误。

控制器代码

$messages = [
    'productImages.dimensions' => "Profile image must be maximum 100x100 "
];
$this->validate($request,[
    'productName'           => 'required|max:40',
    'productDescription'    => 'required|max:1000',
    'productCondition'      => 'required',
    'productImages'         =>     'required|max:5|dimensions:max_width=100,max_height=100',
    'category'              => 'required'
],$messages);

当用户选择正确分辨率的图像时,我想提交该图像。

laravel laravel-5 laravel-validation
1个回答
2
投票

基于事实productImages为复数,并且您已经设置了max值,我猜测您正在传递的是图像数组,而不是单个图像。因此,您需要分别验证数组每个项目的尺寸。

$this->validate($request,[
    'productName'           => 'required|max:40',
    'productDescription'    => 'required|max:1000',
    'productCondition'      => 'required',
    'productImages'         => 'required|max:5',
    'productImages.*'       => 'dimensions:max_width=100,max_height=100',
    'category'              => 'required'
],$messages);
© www.soinside.com 2019 - 2024. All rights reserved.