thunken/laravel5-isocodes-validation

此包已被废弃,不再维护。没有建议的替代包。

ronanguilloux的IsoCodes验证库的Laravel 5包装器

v4.0.1 2020-01-22 12:17 UTC

README

Latest Version on Packagist Software License Travis Build Scrutinizer Quality Scrutinizer Build SensioLabsInsight Total Downloads Coverage Status

这是一个简单的Laravel 5包装器,用于ronanguilloux的IsoCodes验证库

安装

步骤 1: 通过Composer安装

composer require thunken/laravel5-isocodes-validation

步骤 2: 添加服务提供者

(从v2.x版本开始不需要,因为支持自动发现)

app/config/app.php中添加服务提供者

'provider' => [
    ...
    Thunken\IsoCodesValidation\IsoCodesValidationServiceProvider::class,
    ...
];

使用方法

简单示例

// Checking out your e-commerce shopping cart?
$payload = [
    'creditcard' => '12345679123456'
];
$rules = [
    'creditcard' => 'creditcard'
];

$validator = Validator::make($payload, $rules);

带有参考参数的示例

一些规则需要参考来验证(例如,对于zipcodecountry)。

只需传递包含参考的规则的字段名称。

// 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验证库

测试

使用以下命令运行测试

vendor/bin/phpunit

许可证

仅限GNU通用公共许可证v3.0。请参阅许可证文件以获取更多信息。