【问题标题】:Cannot use Image Validation library in validation rule in Laravel无法在 Laravel 的验证规则中使用图像验证库
【发布时间】:2016-06-03 03:17:19
【问题描述】:

我正在使用 Laravel 5.2 开发一个项目。我正在上传图片。所以我需要验证图像尺寸。所以我找到了一个图书馆,https://github.com/cviebrock/image-validator。所以我使用composer安装了这个库。

我在终端运行这个命令:

composer require "cviebrock/image-validator:^2.0"

所以这是自动添加到我的composer require

"cviebrock/image-validator": "^2.0"

然后我将此添加到 config/app.php 中的提供程序部分

Cviebrock\ImageValidator\ImageValidatorServiceProvider::class

然后我在控制器中这样验证

$validator = Validator::make($request->all(), [
            'imge_file'=>'image|image_size:300,300',
        ]);

但即使我上传尺寸无效的图片,验证也不会失败。我的代码有什么问题?

【问题讨论】:

  • 你的意思是文件名是image_file吗?

标签: php laravel laravel-5.2


【解决方案1】:

制定所需的规则。

$validator = Validator::make($request->all(), [
        'imge_file'=>'required|image|image_size:300,300',
    ]);

【讨论】:

  • 当我添加需要时。即使我上传了图片,它也会一直说需要图片。请问为什么?
  • 您需要为我们添加更多代码才能看到发生了什么。您的图片是否在 html 中命名为“imge_file”?
【解决方案2】:

您希望上传的图片正好 300x300,还是希望任何图片小于或等于这些尺寸?

目前,您正在检查精确为 300x300 的图像。

将规则更改为:image|image_size:<=300 以允许任何小于或等于 300x300 的图像。

【讨论】:

  • 我想要正好 300*300
  • @WaiYanHein dd() $request 并确保图像字段在那里。
  • 奥普斯。我发现了错误。 dd() 中不显示文件,即使它确实存在于表单中。我在验证规则中从 imge_file 更改为 image_file。那完全是我的错。不过多亏了你的建议。这就是我发现这个错误的原因,这是我所知道的新事物。
  • 我认为可能是错字。很高兴我能帮上忙!
猜你喜欢
  • 2021-04-02
  • 2014-04-22
  • 2017-12-01
  • 2016-11-26
  • 1970-01-01
  • 2020-06-09
  • 2021-09-06
  • 2015-02-21
  • 2016-12-17
相关资源
最近更新 更多