liagkos/laravel-grvatid-validator

用于检查一个数字在希腊增值税ID注册簿中是否可能是有效的Laravel验证器

v1.0.0 2018-04-04 14:24 UTC

This package is auto-updated.

Last update: 2024-09-10 23:39:44 UTC


README

希腊增值税ID验证器检查一个数字是否在希腊增值税ID注册簿中可能是有效的。

验证器不会检查增值税ID实际上是否属于个人或公司,它只会检查该增值税ID是否遵循有效希腊增值税ID的算法

1. VAT ID = 090000045
2. Calculate sum of 0*2^8+9*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+4*2^1 = 1160
3. Calculate mod11 = 1160 % 11 = 5
4. Calculate mod10 = 5 % 10 = 5
5. mod10 (5) is equal to 5 (last digit), so VAT ID is VALID
1. VAT ID = 123456789
2. Calculate sum of 1*2^8+2*2^7+3*2^6+4*2^5+5*2^4+6*2^3+7*2^2+8*2^1 = 1004
3. Calculate mod11 = 1004 % 11 = 3
4. Calculate mod10 = 3 % 10 = 3
5. mod10 (3) is not equal to 9 (last digit), so VAT ID is INVALID

安装

使用Composer安装该软件包

composer require liagkos/laravel-grvatid-validator

Laravel的服务提供者发现将自动为您配置Grvatval服务提供者。

使用grvatval验证器

安装后,grvatval验证器将可用于直接在验证规则中使用。

'vatid' => 'grvatval',

在注册表单的上下文中,它将看起来像这样

return Validator::make($data, [
    'name' => 'required',
    'email' => 'required|string|email',
    'password' => 'required',
    'vatid' => 'required|grvatval'
]);

使用规则对象

或者,如果您愿意,可以使用Liagkos\Grvatval\Grvatval 验证规则对象代替grvatval别名

return Validator::make($data, [
    'name' => 'required',
    'email' => 'required|string|email',
    'password' => 'required',
    'vatid' => ['required', new \Liagkos\Grvatval\Grvatval],
]);

验证信息

您需要在resources/lang/*/validation.php文件中分配自己的验证信息。规则对象和grvatval验证器别名都引用验证字符串validation.grvatval

测试

只需运行tests目录中的测试。我使用orchestra/testbench和PHPUnit。

致谢

由于我在所有Laravel方面的知识都比较新,我从Stephen Rees-Carten和他的自己的valorin/pwned-validator验证器中得到了灵感,我从他那里使用了一些代码和README.md内容,相应地修改了以制作这个验证器。谢谢你Stephen,愿你和你的事业长盛不衰!