intervention/validation

Laravel 框架的额外验证规则


README

Intervention Validation 是 Laravel 自身验证系统的扩展库。该包添加了验证数据如 IBAN、BIC、ISBN、信用卡号码等规则的规则。

Latest Version Tests Monthly Downloads Support me on Ko-fi

安装

您可以使用 Composer 快速轻松地安装此包。

通过 Composer 需求此包

$ composer require intervention/validation

Laravel 集成

验证库旨在与 Laravel 框架(>=10)一起使用。它包含一个服务提供者,该提供者将被自动发现并注册验证规则到您的安装中。该包提供了 30 个额外的验证规则,包括多语言错误消息,可以使用像 Laravel 自己的验证规则一样使用。

use Illuminate\Support\Facades\Validator;
use Intervention\Validation\Rules\Creditcard;
use Intervention\Validation\Rules\Hexadecimalcolor;
use Intervention\Validation\Rules\Username;

$validator = Validator::make($request->all(), [
    'color' => new Hexadecimalcolor([3, 6]), // pass rule as object
    'number' => ['required', 'creditcard'], // or pass rule as string
    'name' => 'required|min:3|max:20|username', // combining rules works as well
]);

更改错误消息

将相应的键添加到 /resources/lang/<language>/validation.php,例如

// example
'iban' => 'Please enter IBAN number!',

或直接将自定义消息添加到验证器中,如文档中所述

可用规则

以下验证规则与此包一起提供。

奥地利保险号(奥地利社会保险号)

正在验证的字段必须是奥地利保险号

public Intervention\Validation\Rules\AustrianInsuranceNumber::__construct()

Base64 编码字符串

正在验证的字段必须是Base64 编码

public Intervention\Validation\Rules\Base64::__construct()

商业识别码(BIC)

检查有效的商业识别码(BIC)。

public Intervention\Validation\Rules\Bic::__construct()

骆驼命名法字符串

正在验证的字段必须是格式化为骆驼命名法

public Intervention\Validation\Rules\Camelcase::__construct()

无类域间路由(CIDR)

检查值是否为无类域间路由表示法(CIDR)。

public Intervention\Validation\Rules\Cidr::__construct()

信用卡号码

正在验证的字段必须是一个有效的信用卡号码

public Intervention\Validation\Rules\Creditcard::__construct()

数据 URI 方案

正在验证的字段必须是一个有效的数据 URI

public Intervention\Validation\Rules\DataUri::__construct(?array $media_types = null)

域名

正在验证的字段必须是一个格式良好的域名

public Intervention\Validation\Rules\Domainname::__construct()

欧洲商品编号(EAN)

检查有效的欧洲商品编号

public Intervention\Validation\Rules\Ean::__construct(array $lengths = [8, 13])

参数

长度

可选的整数长度(8 或 13)以仅检查 EAN-8 或 EAN-13。

全球发行标识符(GRid)

正在验证的字段必须是一个全球发行标识符

public Intervention\Validation\Rules\Grid::__construct()

全球贸易项目编号(GTIN)

检查有效的全球贸易项目编号

public Intervention\Validation\Rules\Gtin::__construct(array $lengths = [8, 12, 13, 14])

参数

长度

可选的允许长度的数组,以仅检查某些类型(GTIN-8、GTIN-12、GTIN-13 或 GTIN-14)。

十六进制颜色代码

正在验证的字段必须是一个有效的十六进制颜色代码

public Intervention\Validation\Rules\Hexadecimalcolor::__construct(array $lengths = [3, 4, 6, 8])

参数

长度

可选长度作为整数,以检查仅为短格式(3或4个字符)或完整十六进制格式(6或8个字符)。

HSL 颜色

正在验证的字段必须是一个有效的HSL 颜色代码

public Intervention\Validation\Rules\Hslcolor::__construct()

HSV 颜色

正在验证的字段必须是一个有效的HSV/HSB 颜色代码

public Intervention\Validation\Rules\Hsvcolor::__construct()

无 HTML 文本

正在验证的字段必须不包含任何 HTML 代码。

public Intervention\Validation\Rules\HtmlClean::__construct()

国际银行账户号码 (IBAN)

检查有效的国际银行账户号码 (IBAN)。

public Intervention\Validation\Rules\Iban::__construct()

国际移动设备身份码 (IMEI)

正在验证的字段必须是一个国际移动设备身份码 (IMEI)。

public Intervention\Validation\Rules\Imei::__construct()

国际标准书号 (ISBN)

正在验证的字段必须是一个有效的国际标准书号 (ISBN)。

public Intervention\Validation\Rules\Isbn::__construct(array $lengths = [10, 13])

参数

长度

可选长度参数作为整数,以检查仅为 ISBN-10 或 ISBN-13。

国际证券识别号码 (ISIN)

检查有效的国际证券识别号码 (ISIN)。

public Intervention\Validation\Rules\Isin::__construct()

国际标准连续出版物号 (ISSN)

检查有效的国际标准连续出版物号 (ISSN)。

public Intervention\Validation\Rules\Issn::__construct()

JSON Web Token (JWT)

给定值必须是格式为JSON Web Token的值。

public Intervention\Validation\Rules\Jwt::__construct()

横线分隔大小写字符串

给定值必须格式化为横线分隔大小写

public Intervention\Validation\Rules\Kebabcase::__construct()

纬度

检查有效的地理纬度

public Intervention\Validation\Rules\Latitude::__construct()

经度

检查有效的地理经度

public Intervention\Validation\Rules\Longitude::__construct()

经纬度

检查有效的地理逗号分隔的纬度和经度对纬度经度

public Intervention\Validation\Rules\LatLng::__construct()

小写字符串

给定值必须全部是小写字母。

public Intervention\Validation\Rules\Lowercase::__construct()

Luhn 算法

给定值必须通过其包含的Luhn 算法校验位检查。

public Intervention\Validation\Rules\Luhn::__construct()

媒体 (MIME) 类型

检查有效的Mime 类型(媒体类型)。

public Intervention\Validation\Rules\MimeType::__construct()

邮政编码

正在验证的字段必须是给定国家的邮政编码

public Intervention\Validation\Rules\Postalcode::__construct(array $countrycodes = [])

参数

countrycode

ISO-639-1 格式的国家代码。

邮政编码(静态实例化)

public static Intervention\Validation\Rules\Postalcode::countrycode(array $countrycodes): Postalcode

参数

countrycode

ISO-639-1 格式的国家代码。

邮政编码(带引用的静态实例化)

public static Intervention\Validation\Rules\Postalcode::reference(string $reference): Postalcode

参数

reference

参考键,用于从验证器中的其他数据获取ISO-639-1国家代码。

语义版本号

正在验证的字段必须是使用语义版本控制的有效版本号。

public Intervention\Validation\Rules\SemVer::__construct()

SEO 优化短文本(缩略词)

正在验证的字段必须是一个用户友好的、SEO 优化短文本

public Intervention\Validation\Rules\Slug::__construct()

蛇形大小写字符串

正在验证的字段必须格式化为蛇形大小写文本。

public Intervention\Validation\Rules\Snakecase::__construct()

标题大小写字符串

正在验证的字段必须格式化为标题格式

public Intervention\Validation\Rules\Titlecase::__construct()

通用唯一字母顺序可排序标识符(ULID)

正在验证的字段必须是一个有效的通用唯一字母顺序可排序标识符

public Intervention\Validation\Rules\Ulid::__construct()

大写字符串

正在验证的字段必须全部为大写。

public Intervention\Validation\Rules\Uppercase::__construct()

用户名

正在验证的字段必须是一个有效的用户名。由字母数字字符、下划线、减号组成,必须以字母开头。不允许出现多个下划线和减号字符。下划线和减号字符不允许出现在开头或结尾。

public Intervention\Validation\Rules\Username::__construct()

开发与测试

此软件包附带一个Docker镜像,用于构建测试套件容器。要构建此容器,您必须在您的系统上安装Docker。您可以使用以下命令运行所有测试。

$ docker-compose run --rm --build tests

作者

此库由Oliver Vogel开发和维护。

感谢贡献者社区为此项目的改进提供了帮助。

许可证

Intervention Validation遵循MIT许可证