horat1us/yii2-const-range-validator

使用类常量的Yii2范围验证器

1.0.0 2019-03-21 04:18 UTC

This package is auto-updated.

Last update: 2024-09-21 20:46:27 UTC


README

Build Status codecov

此包提供了允许使用类常量作为 \yii\validators\RangeValidator::range 的验证器。
主要目的是防止在向类中添加新常量后出现错误(忘记更新验证规则)。

之前的实现可在 horat1us/yii2-base 包中的 ConstRangeValidator 找到。

安装

使用 packagist.org

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

许可协议

MIT