pixelpeter / laravel5-isocodes-validation
Laravel 5 对 ronanguilloux 的 IsoCodes 验证库的包装
v3.0.0
2019-03-15 17:04 UTC
Requires
- php: ^7.1
- ronanguilloux/isocodes: ^2.1.5
Requires (Dev)
- laravel/laravel: 5.8.*
- mockery/mockery: ^1.2
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-09 18:07:09 UTC
README
A simple Laravel 5 wrapper for the IsoCodes Validation library from ronanguilloux.
对于 Laravel 8 兼容版本,请使用 https://github.com/pixelpeter/laravel-isocodes-validation
安装
步骤 1: 通过 Composer 安装
composer require pixelpeter/laravel5-isocodes-validation
步骤 2: 添加服务提供者
(从 v2.x 版本开始不需要,因为支持自动发现)
在 app/config/app.php
中添加服务提供者
'provider' => [ ... Pixelpeter\IsoCodesValidation\IsoCodesValidationServiceProvider::class, ... ];
用法
简单示例
// Checking out your e-commerce shopping cart? $payload = [ 'creditcard' => '12345679123456' ]; $rules = [ 'creditcard' => 'creditcard' ]; $validator = Validator::make($payload, $rules);
带有参考参数的示例
某些规则需要参考来验证(例如,对于 zipcode
,需要 country
)。
只需将存储参考的名称的场的名称传递给规则。
// Sending letters to the Labrador Islands ? $payload = [ 'zipcode' => 'A0A 1A0', 'country' => 'CA' ]; $rules = [ 'zipcode' => 'zipcode:country' ]; $validator = Validator::make($payload, $rules); // Publishing books? $payload = [ 'isbn' => '2-2110-4199-X', 'isbntype' => 13 ]; $rules = [ 'zipcode' => 'isbn:isbntype' ]; $validator = Validator::make($payload, $rules);
使用数组点和表示法的示例
(在 v3.x 版本中添加)
根据 @otr-tomek 的建议,我添加了对所有使用点表示法作为输入的验证方法的支持。
$payload = [ 'data' => [ [ 'country' => 'DE', 'zipcode' => 63741 ], [ 'country' => 'AT', 'zipcode' => 1180 ] ] ]; $validator = Validator::make($payload, [ 'data.*.zipcode' => 'zipcode:data.*.country' ]);
验证错误消息
错误消息可以包含字段名称和值以及参考值
$payload = [ 'phonenumber' => 'invalid', 'country' => 'GB' ]; $rules = [ 'phonenumber' => 'phonenumber:country' ]; $validator = Validator::make($payload, $rules); print $validator->errors()->first(); // The value "invalid" of phonenumber is not valid for "GB".
更多示例
有关更多示例和文档,请参阅 IsoCodes Validation library。
测试
使用以下命令运行测试
vendor/bin/phpunit
许可证
仅限于 GNU 通用公共许可证 v3.0。请参阅 许可证文件 了解更多信息。