Валидация массива в модели 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, 'Необходимо загрузить фотографии');
}
]
}
Убрал из функции какую либо проверку - просто пусть пока выведет ошибку