public function testValidateValue() { $val = new ExistValidator(['targetClass' => ValidatorTestRefModel::className(), 'targetAttribute' => 'id']); $this->assertTrue($val->validate(2)); $this->assertTrue($val->validate(5)); $this->assertFalse($val->validate(99)); $this->assertFalse($val->validate(['1'])); }
/** * @param \yii\base\Model $model * @param string $attribute */ public function validateAttribute($model, $attribute) { $regexpValidator = new RegularExpressionValidator(['pattern' => '/^9[0-9]{9}$/']); if (!$regexpValidator->validate($model->{$attribute})) { $this->addError($model, $attribute, '{attribute} имеет неверный формат'); return; } $existValidator = new ExistValidator(['targetClass' => Number::className(), 'targetAttribute' => 'number']); if (!$existValidator->validate($model->{$attribute})) { $this->addError($model, $attribute, "{attribute} не существует"); } }