cable8mm / laravel-validation-kisa-rules
Laravel validation rules for KISA-compliant passwords.
Package info
github.com/cable8mm/laravel-validation-kisa-rules
pkg:composer/cable8mm/laravel-validation-kisa-rules
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
README
Warning
This package is archived and no longer actively maintained.
It was originally created based on password recommendations published by KISA and related Korean security guidelines available at the time of development.
Those recommendations have since been revised, abolished, or are no longer publicly available.
This package is preserved for legacy applications that still require the historical password policy.
Laravel validation rules implementing password requirements recommended by KISA (Korea Internet & Security Agency).
Why this package exists
Many services in South Korea follow password recommendations published by KISA.
Unlike Laravel's built-in Password rule, KISA password requirements are conditional.
| Character Types Used | Minimum Length |
|---|---|
| 1 type | 10 characters |
| 2 or more types | 8 characters |
For example,
| Password | Valid |
|---|---|
aaaaaaaaaa |
✅ |
abcd1234 |
✅ |
abcd!@#$ |
✅ |
abcd123! |
✅ |
aaaaaaaa |
❌ |
Laravel's built-in password validation cannot express these rules.
Password::min(8) ->letters() ->numbers() ->symbols();
This package provides a reusable validation rule implementing KISA recommendations.
new KisaPassword()
Features
- ✅ Implements KISA password recommendations
- ✅ Supports Laravel validation pipeline
- ✅ Translation ready
- ✅ Composer installable
Support & Tested
| PHP | Laravel |
|---|---|
| 8.1 | 10.x |
| 8.2 | 10.x |
| 8.2 | 11.x |
| 8.2 | 12.x |
| 8.3 | 10.x |
| 8.3 | 11.x |
| 8.3 | 12.x |
Installation
composer require cable8mm/laravel-validation-kisa-rules
The package registers itself automatically.
Publishing Translations
php artisan vendor:publish --provider="Cable8mm\ValidationKisaRules\ValidationKisaRulesServiceProvider"
Usage
KisaPassword
use Cable8mm\ValidationKisaRules\Rules\KisaPassword; $request->validate([ 'password' => [ 'required', 'confirmed', new KisaPassword(), ], ]);
Testing
composer test
Formatting
composer lint
Automatically fix coding style issues.
composer inspect
Inspect files without modifying them.
References
- KISA password guideline documents
License
The MIT License (MIT).
See LICENSE.md for more information.