Looking to hire Laravel developers? Try LaraJobs

numerik-laravel maintained by slashlab

Description
Laravel validation rules for Polish identification numbers (PESEL, NIP, REGON, KRS) — powered by slashlab/numerik.
Author
Last update
2026/04/28 00:17 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

numerik-laravel

Tests Latest Version PHP Version License

Laravel validation rules for Polish identification numbers — PESEL, NIP, REGON, and KRS. Powered by slashlab/numerik.

Requirements

  • PHP 8.3+
  • Laravel 11, 12, or 13

Installation

composer require slashlab/numerik-laravel

The service provider is auto-discovered — no manual registration needed.

Usage

Validation rules

Use the rules in form requests or Validator::make() calls:

use SlashLab\NumerikLaravel\Rules\PeselRule;
use SlashLab\NumerikLaravel\Rules\NipRule;
use SlashLab\NumerikLaravel\Rules\RegonRule;
use SlashLab\NumerikLaravel\Rules\KrsRule;

public function rules(): array
{
    return [
        'pesel' => ['required', new PeselRule()],
        'nip'   => ['required', new NipRule()],
        'regon' => ['required', new RegonRule()],
        'krs'   => ['required', new KrsRule()],
    ];
}

Strict mode

All rules accept an optional strict parameter (default true). In strict mode, PESELs with future birth dates or all-identical digits are rejected:

new PeselRule(strict: false)

String-based rules

Rules are also available as strings via the service provider:

'pesel' => ['required', 'pesel'],
'nip'   => ['required', 'nip'],
'regon' => ['required', 'regon'],
'krs'   => ['required', 'krs'],

Changelog

See CHANGELOG.md.

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md.

License

MIT — see LICENSE.


If this saved you time → ☕ Buy me a coffee