cviebrock/image-validator

此包已被废弃且不再维护。作者建议使用 illuminate/validation 包。

自定义Laravel验证器,用于验证图像尺寸 - 自Laravel 5.2起已内置

2.2.3 2017-09-05 20:19 UTC

This package is auto-updated.

Last update: 2022-02-01 12:30:58 UTC


README

Laravel 5中处理图像的额外验证规则。

注意:从Laravel版本5.2开始,现在已经有内置的图像尺寸和宽高比验证规则。此包不再需要,并将不再维护。

Build Status Total Downloads Latest Stable Version Latest Unstable Version Scrutinizer Code Quality SensioLabsInsight License: MIT

安装

注意:根据您的Laravel版本,您应该安装不同版本的包

Laravel版本 包版本
4.* 1.x
5.0–5.3 2.1†
5.4 2.2†
5.5 不兼容†

† Laravel 5.2及以后的版本有内置的图像尺寸验证规则

通过Composer安装包。

composer require "cviebrock/image-validator"

将以下内容添加到您的providers数组中,在app/config/app.php

'providers' => [
    ...
    \Cviebrock\ImageValidator\ImageValidatorServiceProvider::class,
],

使用方法

就像使用任何Validator规则一样使用它。该包提供两个图像验证规则

image_size

$rules = [
    'my_image_field' => 'image_size:<width>[,<height>]',
];

width和_height的值可以是整数,也可以是带有修饰符前缀的整数

  • 300=300表示尺寸必须是正好300像素。
  • <300表示尺寸必须小于300像素
  • <=300表示尺寸必须小于或等于300像素
  • >300表示尺寸必须大于300像素
  • >=300表示尺寸必须大于或等于300像素
  • 200-300表示尺寸必须在200到300像素之间(包含两端)
  • *表示尺寸可以是任何值

如果您只传递一个值,则假定它适用于两个尺寸(即给定尺寸的正方形图像)。

image_aspect

$rules = [
    'my_image_field' => 'image_aspect:<ratio>',
];

ratio的值代表width ÷ height,可以是十进制数或两个值(宽度,高度;两者都是整数)

  • 0.75
  • 3,4

值(或第一个值,如果提供宽度和高度)也可以用波浪号~字符作为前缀,在这种情况下,方向不重要

  • ~3,4表示图像可以有3:4或4:3的宽高比。

请注意,您可能会遇到浮点数四舍五入的问题。

示例

// logo must be 300px wide by 400px tall
$rules = [
    'logo' => 'required|image|image_size:300,400',
];

// logo must be less than or equal to 300x300px.
$rules = [
    'logo' => 'required|image|image_size:<=300',
];

// logo must be 300px wide but can be any height
$rules = [
    'logo' => 'required|image|image_size:300,*',
];

// logo must be at least 100px tall and 200-300 pixels wide (inclusive)
$rules = [
    'logo' => 'required|image|image_size:>=100,200-300',
];

// logo must be square
$rules = [
    'logo' => 'required|image|image_aspect:1',
];

// logo must be ready for the big screen TV :)
$rules = [
    'logo' => 'required|image|image_aspect:16,9',
];

错误、建议和贡献

感谢所有为这个项目做出贡献的

请使用GitHub来报告错误、发表评论或建议。

有关如何贡献更改,请参阅CONTRIBUTING.md

版权与许可

image-validatorColin Viebrock编写,并按照MIT许可证发布。

版权所有 2013 Colin Viebrock

感谢

非常感谢https://bitbucket.org/hampel/validate-laravel,为在Laravel中添加验证规则创建包的结构,并设置有用的单元测试。