сложная валидация файла в модели

Есть задача, в зависимости от выбранного типа контента валидировать загруженный файл по определенному набору расширений.

Те в модели, допустим, есть следующие 2 поля:

file

category_id

к примеру если category_id = 1, валидировать по jpg, gif, png. Если другое, то по другому набору.

я правильно понимаю что стандартными методами валидации невозможно решить эту проблему ?

по-моему можно попробывать переопределить

getScenario() в модели и подавать различные валидационные рулы, либо прямо на rules() в разных случаях отдавать разные массивы

походу появилась мысль подмены полей для загрузки.

типа для одной категории будет file1, для другой file2

чуть некрасиво, но работать будет )

спасибо, ваш вариант тоже попробую

В следующей версии 1.1.2 будет такая возможность через новые методы $model->getMetaData()->addRelation(), $model->getMetaData()->hasRelation(), $model->getMetaData()->removeRelation().

А вот и свежий исходник класса CActiveRecordMetaData, где эти методы уже есть:

http://yii.googlecode.com/svn/trunk/framework/db/ar/CActiveRecord.php

А пока что можно пользоваться свойством $model->getMetaData()->relations.

извините, но по-моему не об этом тут речь :rolleyes:

Да, vamp, ты прав. Что-то я перепутал, извините.