Simple Polish Validation rules for Laravel and Lumen framework
You can install this package by composer:
composer require pacerit/laravel-polish-validation-rules
For customize validaiton messages run:
php artisan vendor:publish --provider "PacerIT\LaravelPolishValidationRules\Providers\LaravelPolishValidationRulesServiceProvider"
Framework | Package | Note |
---|---|---|
5.8.x | ^1.x.x | No longer maintained. |
6.0.x | ^2.x.x | No longer maintained. |
7.x.x | ^3.x.x | No longer maintained. |
8.x.x | ^4.x.x | PHP ^8.0 Supported from 4.0.3, Bug fixes only. No longer maintained. |
9.x.x | ^5.x.x | |
10.x.x | ^6.x.x | |
11.x.x | ^7.x.x |
- 'PESEL' - validate PESEL number. We can validate additional parameters:
- Gender - check if gender value in PESEL
gender_male
gender_female
- Birth date - checking if birth date decoded from PESEL number is before or after date defined in rules
born_before,Y-m-d
- i.e.PESEL:born_before,2022-01-01
born_after,Y-m-d
- i.e.PESEL:born_after,2000-01-01
- Gender - check if gender value in PESEL
- 'REGON' - validate REGON number
- 'NIP' - validate NIP number
- 'id_card_number' - validate Polish ID Card number
- 'post_code' - validate Polish post codes. By default accept codes in format 00-000 and 00000. You can change this with options:
- with_dash - only post codes with format 00-000 are valid
- without_dash - only post code with format 00000 are valid
- 'PWZ' - validate PWZ (Prawo wykonywania zawodu lekarza/farmaceuty) numer (more information HERE)
- 'passport_number' - validate Polish passport number
Without optional parameters
$validator = Validator::make(
$request->all(),
[
'post_code' => 'post_code',
'pesel' => 'PESEL',
'nip_number' => 'NIP',
]
);
With optional parameters
$validator = Validator::make(
$request->all(),
[
'post_code' => 'post_code:without_dash',
'pesel' => 'PESEL:gender_female',
]
);
Multiple options
$validator = Validator::make(
$request->all(),
[
'pesel' => 'PESEL:gender_male:born_before,2022-01-01:born_after,2000-01-01',
]
);
The algorithms used in the functions are based on existing solutions. Below are links to the sources:
- PESEL
- checksum checking algorithm - http://phpedia.pl/wiki/PESEL
- extract/validate bith date - KKSzymanowski/PESEL
- REGON - http://phpedia.pl/wiki/REGON
- NIP - http://phpedia.pl/wiki/NIP
- id_card_number - http://www.algorytm.org
Go to the Changelog for a full change history of the package.
composer test
If you discover a security vulnerability within package, please send an e-mail to Wiktor Pacer via kontakt@pacerit.pl. All security vulnerabilities will be promptly addressed.
This package is open-source software licensed under the MIT license.