liagkos / laravel-grvatid-validator
用于检查一个数字在希腊增值税ID注册簿中是否可能是有效的Laravel验证器
v1.0.0
2018-04-04 14:24 UTC
Requires
- php: >=7.1.3
- illuminate/support: ~5.5
Requires (Dev)
- orchestra/testbench: ~3.0
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,愿你和你的事业长盛不衰!