FakedValidationModel.php 1.06 KB
Newer Older
Suralc committed
1 2
<?php

3
namespace yiiunit\data\validators\models;
Suralc committed
4

5 6 7
use yii\base\Model;

class FakedValidationModel extends Model
Suralc committed
8
{
9 10 11 12
	public $val_attr_a;
	public $val_attr_b;
	public $val_attr_c;
	public $val_attr_d;
Alexander Makarov committed
13
	private $attr = [];
14

Suralc committed
15 16 17 18
	/**
	 * @param array $attributes
	 * @return self
	 */
Alexander Makarov committed
19
	public static function createWithAttributes($attributes = [])
Suralc committed
20 21 22 23 24 25 26
	{
		$m = new static();
		foreach ($attributes as $attribute => $value) {
			$m->$attribute = $value;
		}
		return $m;
	}
27 28 29

	public function rules()
	{
Alexander Makarov committed
30
		return [
31
			[['val_attr_a', 'val_attr_b'], 'required', 'on' => 'reqTest'],
32
			['val_attr_c', 'integer'],
Alexander Makarov committed
33
		];
34 35
	}

Alexander Makarov committed
36
	public function inlineVal($attribute, $params = [])
37 38 39 40
	{
		return true;
	}

41
	public function __get($name)
Suralc committed
42
	{
43 44 45 46 47
		if (stripos($name, 'attr') === 0) {
			return isset($this->attr[$name]) ? $this->attr[$name] : null;
		}

		return parent::__get($name);
Suralc committed
48
	}
49 50

	public function __set($name, $value)
Suralc committed
51
	{
52 53 54 55 56
		if (stripos($name, 'attr') === 0) {
			$this->attr[$name] = $value;
		} else {
			parent::__set($name, $value);
		}
Suralc committed
57
	}
Suralc committed
58 59 60 61 62

	public function getAttributeLabel($attr)
	{
		return $attr;
	}
63
}