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