raoptimus/yii2-composite-validator

Yii2 框架的嵌套验证器基类

1.0.0 2018-10-03 11:12 UTC

This package is auto-updated.

Last update: 2024-09-04 21:12:59 UTC


README

Stable Version Untable Version License Total Downloads Build Status

yii2-composite-validator

Yii2 框架的复合验证器

安装

使用 composer 安装

composer require raoptimus/yii2-composite-validator

使用示例

创建任何简单的复合验证器

class StringDefaultValidator extends CompositeValidator
{
    /** @var string */
    public $defaultValue;
    /** @var int */
    public $max;
    /** @var int */
    public $min;

    /**
     * @inheritdoc
     */
    protected function validators(): array
    {
        return [
            [StringValidator::class, 'max' => $this->max, 'min' => $this->min],
            [DefaultValueValidator::class, 'value' => $this->defaultValue],
        ];
    }
}

使用复合验证器创建任何表单

class DefaultForm extends Model
{
    /**
     * @var string
     */
    public $field;

    /**
     * @inheritdoc
     */
    public function rules(): array
    {
        return [
            [['field'], StringDefaultValidator::class, 'max' => 50, 'defaultValue' => 'test'],
        ];
    }
}

使用表单验证

$form = new DefaultForm();
$form->validate();

$form->field 返回字符串 'test'