horat1us / yii2-enum-validator
Yii2 Range Validator using PHP 8.1 Enums
1.0.0
2025-02-24 09:24 UTC
Requires
- php: >=8.1
- yiisoft/yii2: ^2.0.15
Requires (Dev)
- horat1us/yii2-asset-free: ^1.0
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^3.11
This package is auto-updated.
Last update: 2025-02-24 09:29:34 UTC
README
Simple validator for PHP 8.1+ Enums in Yii2 Framework based on RangeValidator.
Installation
composer require horat1us/yii2-enum-validator
Usage
Define your Enum
enum Status: string { case ACTIVE = "active"; case INACTIVE = "inactive"; case PENDING = "pending"; }
Use in Model/ActiveRecord rules
use Horat1us\Yii\EnumValidator; use yii\base; class YourModel extends base\Model { public ?string $status = null; public function rules(): array { return [ ["status", "required",], ["status", EnumValidator::class, "enumClass" => Enum::class, "strict" => true,], ]; } }
The validator will ensure that the attribute value matches one of the enum values.
Features
- Works with both string and int backed enums
- No additional methods required in enum classes
- Based on Yii2 RangeValidator
- Simple integration
- Fully tested
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.