horat1us / yii2-const-range-validator
使用类常量的Yii2范围验证器
1.0.0
2019-03-21 04:18 UTC
Requires
- php: >=7.2
- yiisoft/yii2: ^2.0.15
Requires (Dev)
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-21 20:46:27 UTC
README
此包提供了允许使用类常量作为 \yii\validators\RangeValidator::range
的验证器。
主要目的是防止在向类中添加新常量后出现错误(忘记更新验证规则)。
之前的实现可在 horat1us/yii2-base 包中的 ConstRangeValidator 找到。
安装
composer require horat1us/yii2-const-range-validator:^1.0
使用方法
验证器
<?php namespace App; use Horat1us\Yii\ConstRange; use yii\base; class Model extends base\Model { public const TYPE_A = 'A'; public const TYPE_B = 'B'; public $type; public function rules(): array { return [ [['type',], ConstRange\Validator::class,], ]; } } $model = new Model; $model->type = 'C'; $model->validate(); // false $model->type = Model::TYPE_A; $model->validate(); // true
ArrayObject
您可以使用Yii2 RangeValidator
<?php namespace App; use Horat1us\Yii\ConstRange; use yii\base; class Model extends base\Model { public const TYPE_A = 'A'; public const TYPE_B = 'B'; public $type; public function rules(): array { return [ [['type',], 'range', 'range' => (new ConstRange\ArrayObject(Model::class, 'TYPE_'))], ]; } } $model = new Model; $model->type = 'C'; $model->validate(); // false $model->type = Model::TYPE_A; $model->validate(); // true