Country-specific PHP validators. Install only the packages you need.
| Package | Description |
|---|---|
validators/core |
Shared primitives |
validators/sa |
Saudi Arabia: national ID, mobile, IBAN |
validators/eg |
Egypt: national ID |
validators/ae |
UAE: Emirates ID, mobile, IBAN |
validators/laravel-sa |
Laravel rules for Saudi Arabia |
validators/laravel-eg |
Laravel rules for Egypt |
validators/laravel-ae |
Laravel rules for UAE |
validators/codeigniter-sa |
CodeIgniter rules for Saudi Arabia |
validators/codeigniter-eg |
CodeIgniter rules for Egypt |
validators/codeigniter-ae |
CodeIgniter rules for UAE |
composer require validators/laravel-saInstalls only validators/laravel-sa, validators/sa, and validators/core.
$request->validate([
'national_id' => 'required|saudi_national_id',
'mobile' => 'required|saudi_mobile',
'iban' => 'required|saudi_iban',
]);composer require validators/sacomposer require validators/laravel-eg
composer require validators/laravel-aeuse Validators\Sa\SaudiNationalId;
$result = SaudiNationalId::check('1001244080');
$result->errorKey();
$result->firstError();
SaudiNationalId::fake();use Validators\LaravelSa\Rules\SaudiNationalId;
'saudi_id' => ['required', new SaudiNationalId()],Laravel adapter packages ship lang/ar/validation.php. Set your app locale to ar:
// config/app.php
'locale' => 'ar',// Saudi project only
public array $ruleSets = [
\Validators\CodeIgniterSa\SaRules::class,
];Submit each split repository (not the monorepo):
| Composer package | GitHub repo |
|---|---|
validators/core |
validators-core |
validators/sa |
validators-sa |
validators/eg |
validators-eg |
validators/ae |
validators-ae |
validators/laravel-sa |
validators-laravel-sa |
validators/laravel-eg |
validators-laravel-eg |
validators/laravel-ae |
validators-laravel-ae |
validators/codeigniter-sa |
validators-codeigniter-sa |
validators/codeigniter-eg |
validators-codeigniter-eg |
validators/codeigniter-ae |
validators-codeigniter-ae |
Removed: validators/laravel and validators/codeigniter (installed all countries). Delete them from Packagist if you added them.
Re-publish after a release:
powershell -File scripts/publish-splits.ps1 -Version v1.0.3cd validators
composer install
composer test:allFormat and checksum validation only — not government verification.
MIT