【问题标题】:Laravel Image Upload Validation Using Postman使用 Postman 进行 Laravel 图片上传验证
【发布时间】:2022-12-09 21:11:24
【问题描述】:

所以我试图验证我的 laravel 项目中上传的图像,但是 File::image() validaton 使我的输入无效,即使我正在上传文件。我正在使用邮递员来做到这一点。

这是我的验证规则。

'product_name' => 'required|string|unique:' . Product::class,
'product_stock_amount' => 'required|integer|numeric|gte:0',
'product_price' => 'required|integer|numeric|gte:0',
'product_price_currency' => 'required|string|'. Rule::in(config('lappee.accepted_currency')),
'product_description' => 'nullable|string',
'product_images' => [
 'nullable',
 File::image()->max(12 * 1024)->dimensions(Rule::dimensions()->maxWidth(config('lappee.allowed_image_size.width'))->maxHeight(config('lappee.allowed_image_size.height')))
],

这是我的邮递员。

我做错了什么吗?

【问题讨论】:

    标签: php laravel-9


    【解决方案1】:

    您的验证预计 product_images 只是一个文件,但您将 product_images 作为数组发送。所以你必须像这样更新你的验证:

    'product_name' => 'required|string|unique:' . Product::class,
    'product_stock_amount' => 'required|integer|numeric|gte:0',
    'product_price' => 'required|integer|numeric|gte:0',
    'product_price_currency' => 'required|string|'. Rule::in(config('lappee.accepted_currency')),
    'product_description' => 'nullable|string',
    'product_images.*' => [
     'nullable',
     File::image()->max(12 * 1024)->dimensions(Rule::dimensions()->maxWidth(config('lappee.allowed_image_size.width'))->maxHeight(config('lappee.allowed_image_size.height')))
    ],
    

    【讨论】:

    • 我还有一个问题,我这样做是为了允许多次上传,这是正确的方法还是有更好的方法?
    • @Jheems 这是正确的方法。
    • 非常感谢!
    猜你喜欢
    • 2017-07-25
    • 1970-01-01
    • 2018-12-15
    • 2015-03-13
    • 2020-04-19
    • 2015-09-14
    • 2017-02-05
    • 2019-09-21
    • 2016-06-25
    相关资源
    最近更新 更多