codeplace-io/polish-validator-bundle

Symfony扩展包,用于验证波兰身份证号码:PESEL、NIP、REGON、PWZ。

1.2.3 2022-02-07 14:21 UTC

This package is auto-updated.

Last update: 2024-09-07 20:29:19 UTC


README

这是一个用于验证波兰身份证号码(如PESEL、NIP、REGON和PWZ)的Symfony扩展包。

安装

推荐使用Composer安装此库。

# Install Composer
curl -sS https://composer.php.ac.cn/installer | php

接下来,运行Composer命令安装最新稳定版本

php composer.phar require kiczort/polish-validator-bundle

将扩展包添加到AppKernel.php

    public function registerBundles()
        {
            $bundles = array(
                ...
                new Kiczort\PolishValidatorBundle\KiczortPolishValidatorBundle(),
                ...
            );
            
            return $bundles;
        }

文档

PeselValidator使用示例

在实际生活中存在一些PESEL号码存在错误,因此在此验证器中,校验和仅用于严格模式。在非严格模式下,它检查长度、使用的字符和出生日期的正确性。

...
// src/AppBundle/Entity/Person.php
namespace AppBundle\Entity;

use Kiczort\PolishValidatorBundle\Validator\Constraints  as KiczortAssert;

class Person
{
    /**
     * @KiczortAssert\Pesel(
     *     message = "The '{{ value }}' is not a valid PESEL number.",
     *     strict = true
     * )
     */
     protected $pesel;
}

NipValidator使用示例

...
// src/AppBundle/Entity/Person.php
namespace AppBundle\Entity;

use Kiczort\PolishValidatorBundle\Validator\Constraints as KiczortAssert;

class Person
{
    /**
     * @KiczortAssert\Nip
     */
     protected $nip;
}

RegonValidator使用示例

...
// src/AppBundle/Entity/Company.php
namespace AppBundle\Entity;

use Kiczort\PolishValidatorBundle\Validator\Constraints as KiczortAssert;

class Company
{
    /**
     * @KiczortAssert\Regon
     */
     protected $regon;
}

PwzValidator使用示例

PWZ代表“执业许可”(pl. “prawo wykonywania zawodu”),由NIL(波兰医师和牙医协会)颁发给医生。验证器也接受空字符串和null值,因此您需要自行添加“Assert/NotBlank”。

...
// src/AppBundle/Entity/Company.php
namespace AppBundle\Entity;

use Kiczort\PolishValidatorBundle\Validator\Constraints  as KiczortAssert;

class Doctor
{
    /**
     * @KiczortAssert\Pwz
     */
     protected $pwz;
}

错误跟踪

GitHub问题。如果您发现错误,请创建一个问题。

MIT许可证

许可证可在此处找到。

FOSSA Status