Skip to content

raoptimus/yii2-composite-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stable Version Untable Version License Total Downloads Build Status

yii2-composite-validator

Composite Validator for Yii2 Framework

Installation

Install with composer:

composer require raoptimus/yii2-composite-validator

Usage samples

Create any simple 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],
        ];
    }
}

Create any form with composite validator

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

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

Use form validate

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

$form->field returns string 'test'