raa
(Rudenkosasha)
March 31, 2010, 12:34pm
1
Есть задача, в зависимости от выбранного типа контента валидировать загруженный файл по определенному набору расширений.
Те в модели, допустим, есть следующие 2 поля:
file
category_id
к примеру если category_id = 1, валидировать по jpg, gif, png. Если другое, то по другому набору.
я правильно понимаю что стандартными методами валидации невозможно решить эту проблему ?
vamp
(Vamphouse)
March 31, 2010, 2:38pm
2
Есть задача, в зависимости от выбранного типа контента валидировать загруженный файл по определенному набору расширений.
Те в модели, допустим, есть следующие 2 поля:
file
category_id
к примеру если category_id = 1, валидировать по jpg, gif, png. Если другое, то по другому набору.
я правильно понимаю что стандартными методами валидации невозможно решить эту проблему ?
по-моему можно попробывать переопределить
getScenario() в модели и подавать различные валидационные рулы, либо прямо на rules() в разных случаях отдавать разные массивы
raa
(Rudenkosasha)
March 31, 2010, 3:13pm
3
походу появилась мысль подмены полей для загрузки.
типа для одной категории будет file1, для другой file2
чуть некрасиво, но работать будет )
спасибо, ваш вариант тоже попробую
rosko
(A)
March 31, 2010, 3:43pm
4
В следующей версии 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.
vamp
(Vamphouse)
March 31, 2010, 5:36pm
5
rosko:
В следующей версии 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.
извините, но по-моему не об этом тут речь
rosko
(A)
March 31, 2010, 6:35pm
6
Да, vamp, ты прав. Что-то я перепутал, извините.