Skip to content

pacerit/laravel-polish-validation-rules

Repository files navigation

Laravel Polish Validation Rules

GitHub tag (latest by date) GitHub Packagist PHP from Packagist StyleCI <PacerIT>

Simple Polish Validation rules for Laravel and Lumen framework

Installation

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"

Version compatibility

Laravel/Lumen

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

Rules

  1. '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
  2. 'REGON' - validate REGON number
  3. 'NIP' - validate NIP number
  4. 'id_card_number' - validate Polish ID Card number
  5. '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
  6. 'PWZ' - validate PWZ (Prawo wykonywania zawodu lekarza/farmaceuty) numer (more information HERE)
  7. 'passport_number' - validate Polish passport number

Usage example

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',
    ]
);

Code Authors

The algorithms used in the functions are based on existing solutions. Below are links to the sources:

Changelog

Go to the Changelog for a full change history of the package.

Testing

composer test

Security Vulnerabilities

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.

License

This package is open-source software licensed under the MIT license.