Валидация массива в модели Yii2

В модель из фронтенда приходят данные - разные поля - name, type и т д. Так же приходит массив с изображениями.

Если обычные поля легко валидируются [['type', 'name', 'job',], 'required'],

То поле с массивом никак:

    [
        'images', 
        function ($attribute, $params) {
            if(!count($this->$attribute))
                $this->addError($attribute, 'Необходимо загрузить фотографии');
            }
    ],

Даже если сделать так:

    [
        'images', 
        function ($attribute, $params) {
           $this->addError($attribute, 'Необходимо загрузить фотографии');
    ],

Ошибка не возвращается. Если во втором случае изменить images на name то ошибка как и должно - возвращается

Есть мысли о том что поле images попадает в валидацию в виде images[]

И из за квадратных скобок валидатор на ее забивает. Как сделать валидацию массива в модели. Модель не активРекорд.

Целиком класс с ролями

    class HolidayForm extends Model
    {
        public $type;
        public $text;
        public $work;
        public $images;
    
        /**
         * @return array
         */
        public function rules()
        {
            return [
                [['type', 'name', 'work',], 'required'],
                ['name', 'string'],
                [
                    'images', 
                    function ($attribute, $params) {
                            $this->addError($attribute, 'Необходимо загрузить фотографии');
                        }                    
                ]
}

Убрал из функции какую либо проверку - просто пусть пока выведет ошибку


Ответы (0 шт):