Fixes #17233: Fixed bug with integer model attribute names in Validator class

This commit is contained in:
Basil
2019-05-15 17:03:57 +02:00
committed by Alexander Makarov
parent aa0f09b3e2
commit e1f6761dfd
3 changed files with 22 additions and 2 deletions

View File

@ -17,6 +17,7 @@ use yiiunit\data\validators\models\FakedValidationModel;
use yiiunit\data\validators\models\ValidatorTestFunctionModel;
use yiiunit\data\validators\TestValidator;
use yiiunit\TestCase;
use yii\validators\SafeValidator;
/**
* @group validators
@ -306,4 +307,21 @@ class ValidatorTest extends TestCase
$model->getValidators()->append($validator);
$this->assertFalse($model->validate());
}
/**
* @see https://github.com/yiisoft/yii2/issues/17233
* @see https://github.com/yiisoft/yii2/pull/17234
*/
public function testScalarAttributeNames()
{
$model = new DynamicModel();
$model->defineAttribute(1);
$model->addRule([1], SafeValidator::className());
$this->assertNull($model->{1});
$this->assertTrue($model->validate([1]));
$validator = SafeValidator::createValidator('safe', $model, [1]);
$this->assertSame([1], $validator->getValidationAttributes(1));
}
}