wsu-das/laravel-isocodes-validation

Laravel 对 ronanguilloux 的 IsoCodes 验证库的包装

该软件包的官方仓库似乎已消失,因此软件包已被冻结。

v4.0.1 2021-10-06 21:05 UTC

This package is auto-updated.

Last update: 2022-10-07 01:08:11 UTC


README

Packagist Version Packagist PHP Version Support Software License Total Downloads

一个简单的 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。有关更多信息,请参阅 许可证文件