wsu-das / laravel-isocodes-validation
Laravel 对 ronanguilloux 的 IsoCodes 验证库的包装
该软件包的官方仓库似乎已消失,因此软件包已被冻结。
v4.0.1
2021-10-06 21:05 UTC
Requires
- php: ^7.4|^8.0
- ronanguilloux/isocodes: ^2.3
Requires (Dev)
- laravel/laravel: ^7.0|^8.0
- mockery/mockery: ^1.4
- php-coveralls/php-coveralls: ^2.3
- phpunit/phpunit: ^9.3
README
一个简单的 Laravel 包装器,用于 IsoCodes 验证库
安装
composer require wsu-das/laravel-isocodes-validation
使用
简单示例
// 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);
使用数组和点符号的示例
如 @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 验证库。
测试
使用以下命令运行测试:
vendor/bin/phpunit
许可证
仅限于 GNU 通用公共许可证 v3.0。有关更多信息,请参阅 许可证文件。