kiczort / polish-validator-bundle
Symfony bundle with validators for Polish identification numbers: PESEL, NIP, REGON, PWZ.
Installs: 19 537
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 14
Open Issues: 1
Requires
- php: >=8.0
- ext-intl: *
- kiczort/polish-validator: ^1.2
- symfony/config: ~6.1
- symfony/dependency-injection: ~6.1
- symfony/http-kernel: ~6.1
- symfony/validator: ~6.1
Requires (Dev)
- phpunit/phpunit: ~9.0
- roave/security-advisories: dev-latest
- symfony/intl: ^6.2
- symfony/phpunit-bridge: ~6.1
README
This is Symfony bundle with validators for Polish identification numbers like: PESEL, NIP, REGON and PWZ.
Installation
The recommended way to install this library is Composer.
# Install Composer curl -sS https://getcomposer.org/installer | php
Next, run the Composer command to install the latest stable version:
php composer.phar require kiczort/polish-validator-bundle
Add bundle to AppKernel.php
public function registerBundles() { $bundles = array( ... new Kiczort\PolishValidatorBundle\KiczortPolishValidatorBundle(), ... ); return $bundles; }
Documentation
Example of use PeselValidator:
There are PESEL numbers with errors in real word, so in case of this validator checksum checking is only for strict mode. In case of none strict mode it checks length, used chars and correctness of date of birth.
... // 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 * ) */ #[KiczortAssert\Pesel(message: "The '{{ value }}' is not a valid PESEL number.", strict: true)] protected $pesel; }
Example of use NipValidator:
... // src/AppBundle/Entity/Person.php namespace AppBundle\Entity; use Kiczort\PolishValidatorBundle\Validator\Constraints as KiczortAssert; class Person { /** * @KiczortAssert\Nip */ #[KiczortAssert\Nip(message: "This is not a valid NIP number.")] protected $nip; }
Example of use RegonValidator:
... // src/AppBundle/Entity/Company.php namespace AppBundle\Entity; use Kiczort\PolishValidatorBundle\Validator\Constraints as KiczortAssert; class Company { /** * @KiczortAssert\Regon */ #[KiczortAssert\Regon(message: "This is not a valid REGON number.")] protected $regon; }
Example of use PwzValidator:
PWZ means "licence to practise a profession" (pl. "prawo wykonywania zawodu"), number given to doctors from NIL (polish Chamber of Physicians and Dentists). Validator accepts also empty strings and nulls so you have to add "Assert/NotBlank" myself.
... // src/AppBundle/Entity/Company.php namespace AppBundle\Entity; use Kiczort\PolishValidatorBundle\Validator\Constraints as KiczortAssert; class Doctor { /** * @KiczortAssert\Pwz */ #[KiczortAssert\Pwz(message: "This is not a valid PWZ number.")] protected $pwz; }
Bug tracking
GitHub issues. If you have found bug, please create an issue.
MIT License
License can be found here.