czachor / polish-id-validators
此包已废弃,不再维护。未建议替代包。
基于Symfony Validator Component的PHP库,用于验证在波兰使用的各种医疗识别号。
v1.3.1
2022-03-15 11:27 UTC
Requires
- php: ^7.2|^8.0
- ronanguilloux/isocodes: ^2.3
- symfony/translation: ^5.0|^6.0
- symfony/validator: ^5.0|^6.0
Requires (Dev)
- phpunit/phpunit: ^9.2
- roave/security-advisories: dev-latest
README
版本:1.3
该包目前标记为已弃用。新版本即将推出。
基于Symfony Validator Component的PHP库,用于验证在波兰使用的各种医疗识别号。
仅进行算法验证,主要基于校验位。它不会查询官方医疗登记册以获取任何数据或检查记录(ID)是否存在。
可用的验证器
-
医生执业许可号 (PWZ)(波兰医生的医疗许可ID)
<?php use Czachor\PolishIdValidators\Entities\PwzEntity; $id = new PwzEntity('5425740');
示例:
5425740
,总共有7位数字- 校验位
- 6位数字
源代码
-
药师执业许可号 (PWZF)(药师ID)
<?php use Czachor\PolishIdValidators\Entities\PwzfEntity; $id = new PwzfEntity('09014954');
EAN-8代码,示例:
09014954
,总共有8位数字- 2位地方区划委员会(从
01
到22
) - 5位顺序号
- 校验位
源代码
- 2位地方区划委员会(从
-
护士/助产士执业许可号 (PWZP)(护士和助产士ID)
<?php use Czachor\PolishIdValidators\Entities\PwzpEntity; $id = new PwzpEntity('0201234P');
示例:
0201234P
,总共有8个字符:7位数字和字母- 2位地方护士和助产士区划委员会ID(从
01
到45
) - 5位顺序号
- 字母
P
或A
源代码
- 2位地方护士和助产士区划委员会ID(从
-
实验室诊断师执业许可号 (PWZDL)(实验室诊断师ID)
<?php use Czachor\PolishIdValidators\Entities\PwzdlEntity; $id = new PwzdlEntity('3143');
示例:
3143
,PWZDL ID是简单的顺序号,因此有一个非常简单的“是数字”验证。
需求
PHP 7.2+。
安装
通过Composer
$ composer require czachor/polish-id-validators
使用
所有ID必须以字符串形式传递。
直接方法
<?php use Czachor\PolishIdValidators\Entities\PwzEntity; use Czachor\PolishIdValidators\Validator; $pwz_id = new PwzEntity('5425740'); // Polish medical licence ID /** @var Symfony\Component\Validator\ConstraintViolationListInterface $obj_validator */ $violations = Validator::validate($pwz_id); if ($violations->count() > 0) { foreach ($violations as $violation) { echo 'Error! ' . $violation->getMessage(); } } else { echo 'Valid!'; }
使用Symfony组件
<?php use Czachor\PolishIdValidators\Entities\PwzEntity; use Symfony\Component\Validator\Validation; $pwz_id = new PwzEntity('5425740'); // Polish medical licence ID $validator = Validation::createValidatorBuilder() ->addMethodMapping('loadValidatorMetadata') ->getValidator(); $violations = $validator->validate($pwz_id); // ...
翻译
翻译使用Symfony Translation Component。
支持的语言
- 英语(默认)-
en_US
- 波兰语 -
pl_PL
如何使用
<php $violations = Validator::validate($pwz_id, 'pl_PL');
如果您的语言不受支持,您可以手动添加
<?php $violations = Validator::validate($pwz_id, 'pt_BR', $path_to_your_php_resource_file);
或者如果您想使用不同的加载器
use Symfony\Component\Translation\Translator; use Symfony\Component\Translation\Loader\ArrayLoader; use Symfony\Component\Validator\Validation; use Czachor\PolishIdValidators\Entities\PwzEntity; $translator = new Translator('fr_FR'); $translator->addLoader('array', new ArrayLoader()); $translator->addResource('array', [ 'Hello World!' => 'Bonjour', ], 'fr_FR'); $validator = Validation::createValidatorBuilder() ->addMethodMapping('loadValidatorMetadata') ->setTranslator($translator) ->getValidator(); $pwz_id = new PwzEntity('5425740'); // Polish medical licence ID $violations = $validator->validate($pwz_id); // ...
待办事项
- 更多验证器
- 注解
- 更多翻译
许可证
MIT许可证(MIT)。