Unique валидатор в наследуемых классах

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Unique валидатор в наследуемых классах

Сообщение snewer »

Здравствуйте!

Есть общий ActiveRecord класс для нескольких других моделей (переопределен instantiate).
В общем классе есть валидатор unique. Если для него указать 'targetClass' => static::class, то при редактировании модели появляется ошибка валидации, хотя данное поле не изменялось. При создании новых записей валидация работает нормально.

При 'targetClass' => self::class, и редактировании валидация тоже работает нормально, но это не то поведение которое нужно (добавляется дополнительное условие которое разделяет эти классы в instantiate).

В чем может быть дело?
Спасибо.
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Unique валидатор в наследуемых классах

Сообщение Loveorigami »

В том что
переопределен instantiate
И посмотрите код, что происходит, если указан targetClass

https://github.com/yiisoft/yii2/blob/ma ... r.php#L123
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Re: Unique валидатор в наследуемых классах

Сообщение snewer »

Спасибо, ответ в строке 184 https://github.com/yiisoft/yii2/blob/ma ... r.php#L184
Ответить