marshmallow / validation
Laravel 框架的附加验证规则
Requires
- php: ^8.1
- ext-mbstring: *
- illuminate/validation: ^10|^11
Requires (Dev)
- phpstan/phpstan: ^1
- phpunit/phpunit: ^10.0
- slevomat/coding-standard: ~8.0
- squizlabs/php_codesniffer: ^3.8
- symfony/uid: ^5.1|^6.2
- dev-master
- v4.x-dev
- v4.0.0
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- 3.1.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-beta.3
- 3.0.0-beta.2
- 3.0.0-beta.1
- 3.0.0-alpha.1
- v2.x-dev
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- v1.x-dev
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2024-09-12 12:16:31 UTC
README
Marshmallow Validation 是 Laravel 自身验证系统的扩展库。该包添加了验证数据(如 IBAN、BIC、ISBN、信用卡号码等)的规则。
安装
您可以使用 Composer 快速轻松地安装此包。
通过 Composer 需求包
$ composer require marshmallow/validation
Laravel 集成
验证库是为与 Laravel 框架(>=10)一起使用而构建的。它包含一个服务提供程序,该提供程序将被自动发现并将验证规则注册到您的安装中。该包提供了 30 个附加验证规则,包括多语言错误消息,可以像 Laravel 自身验证规则一样使用。
use Illuminate\Support\Facades\Validator; use Marshmallow\Validation\Rules\Creditcard; use Marshmallow\Validation\Rules\Hexadecimalcolor; use Marshmallow\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!',
或直接将自定义消息添加到验证器中,如文档中所述。
可用规则
以下验证规则与此包一起提供。
Base64 编码字符串
正在验证的字段必须是 Base64 编码。
public Marshmallow\Validation\Rules\Base64::__construct()
商业标识代码 (BIC)
检查有效的 商业标识代码 (BIC)。
public Marshmallow\Validation\Rules\Bic::__construct()
驼峰式字符串
正在验证的字段必须格式化为 驼峰式。
public Marshmallow\Validation\Rules\Camelcase::__construct()
无类域间路由 (CIDR)
检查值是否为 无类域间路由 表示法(CIDR)。
public Marshmallow\Validation\Rules\Cidr::__construct()
信用卡号码
正在验证的字段必须是有效的 信用卡号码。
public Marshmallow\Validation\Rules\Creditcard::__construct()
数据 URI 方案
正在验证的字段必须是有效的 数据 URI。
public Marshmallow\Validation\Rules\DataUri::__construct(?array $media_types = null)
域名
正在验证的字段必须是格式良好的 域名。
public Marshmallow\Validation\Rules\Domainname::__construct()
欧洲商品编号 (EAN)
检查有效的 欧洲商品编号。
public Marshmallow\Validation\Rules\Ean::__construct(array $lengths = [8, 13])
参数
length
可选整数长度(8 或 13),仅检查 EAN-8 或 EAN-13。
全球贸易项目编号 (GTIN)
检查有效的 全球贸易项目编号。
public Marshmallow\Validation\Rules\Gtin::__construct(array $lengths = [8, 12, 13, 14])
参数
length
可选的允许长度数组,仅检查特定类型(GTIN-8、GTIN-12、GTIN-13 或 GTIN-14)。
十六进制颜色代码
正在验证的字段必须是有效的 十六进制颜色代码。
public Marshmallow\Validation\Rules\Hexadecimalcolor::__construct(array $lengths = [3, 4, 6, 8])
参数
length
可选的整数长度,仅检查短格式(3 或 4 个字符)或完整十六进制格式(6 或 8 个字符)。
无 HTML 文本
正在验证的字段必须不含任何 HTML 代码。
public Marshmallow\Validation\Rules\HtmlClean::__construct()
国际银行账户号码 (IBAN)
检查有效的国际银行账户号码 (IBAN)。
public Marshmallow\Validation\Rules\Iban::__construct()
国际移动设备身份码 (IMEI)
正在验证的字段必须是国际移动设备身份码 (IMEI)。
public Marshmallow\Validation\Rules\Imei::__construct()
国际标准书号 (ISBN)
正在验证的字段必须是有效的国际标准书号 (ISBN)。
public Marshmallow\Validation\Rules\Isbn::__construct(array $lengths = [10, 13])
参数
length
可选的长度参数作为整数,以仅检查ISBN-10或ISBN-13。
国际证券识别码 (ISIN)
检查有效的国际证券识别码 (ISIN)。
public Marshmallow\Validation\Rules\Isin::__construct()
国际标准连续出版物编号 (ISSN)
检查有效的国际标准连续出版物编号 (ISSN)。
public Marshmallow\Validation\Rules\Issn::__construct()
JSON Web Token (JWT)
给定的值必须是格式为JSON Web Token的值。
public Marshmallow\Validation\Rules\Jwt::__construct()
短划线命名法字符串
给定的值必须格式化为短划线命名法。
public Marshmallow\Validation\Rules\Kebabcase::__construct()
小写字符串
给定的值必须是全部小写字母。
public Marshmallow\Validation\Rules\Lowercase::__construct()
Luhn算法
给定的值必须通过其包含的Luhn算法校验位验证。
public Marshmallow\Validation\Rules\Luhn::__construct()
媒体(MIME)类型
检查有效的Mime类型(媒体类型)。
public Marshmallow\Validation\Rules\MimeType::__construct()
邮政编码
正在验证的字段必须是给定国家的邮政编码。
public Marshmallow\Validation\Rules\Postalcode::__construct(array $countrycodes = [])
参数
countrycode
ISO-639-1格式的国家代码。
邮政编码(静态实例化)
public static Marshmallow\Validation\Rules\Postalcode::countrycode(array $countrycodes): Postalcode
参数
countrycode
ISO-639-1格式的国家代码。
邮政编码(静态实例化与引用)
public static Marshmallow\Validation\Rules\Postalcode::reference(string $reference): Postalcode
参数
参考
参考键以从验证器中的其他数据获取ISO-639-1国家代码。
语义版本号
正在验证的字段必须使用语义版本化的有效版本号。
public Marshmallow\Validation\Rules\SemVer::__construct()
SEO友好的短文本(缩写)
正在验证的字段必须是一个用户和SEO友好的短文本。
public Marshmallow\Validation\Rules\Slug::__construct()
蛇形命名法字符串
正在验证的字段必须格式化为蛇形命名法文本。
public Marshmallow\Validation\Rules\Snakecase::__construct()
标题大小写字符串
正在验证的字段必须格式化为标题大小写。
public Marshmallow\Validation\Rules\Titlecase::__construct()
通用唯一排序标识符 (ULID)
正在验证的字段必须是一个有效的通用唯一排序标识符。
public Marshmallow\Validation\Rules\Ulid::__construct()
大写字符串
正在验证的字段必须全部为大写。
public Marshmallow\Validation\Rules\Uppercase::__construct()
用户名
正在验证的字段必须是一个有效的用户名。由字母数字字符、下划线、减号组成,以字母开头。不允许多个下划线和减号字符。下划线和减号字符不允许在开头或结尾。
public Marshmallow\Validation\Rules\Username::__construct()
开发与测试
本包附带一个Docker镜像,用于构建测试套件容器。要构建此容器,您必须在系统上安装Docker。您可以使用此命令运行所有测试。
$ docker-compose run --rm --build tests
许可证
Marshmallow 验证库遵循 MIT 许可协议。