예제 #1
0
 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']));
 }
예제 #2
0
 /**
  * @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} не существует");
     }
 }