2011-09-20 2 views
1

Je possède ce formulaire classe:A propos de sfWidgetFormInputFileEditable: le nom du fichier n'est pas récupéré lors de la mise à jour?

class NewsItemForm extends BaseNewsItemForm 
{ 
    public function configure() 
    { 

    $this->useFields(array('title', 'picture', 'text')); 

    $this->widgetSchema['picture'] = new 
sfWidgetFormInputFileEditable(array(

     'file_src' => '/uploads/'.$this->getObject()->getPicture(), 
     'is_image' => true, 
     'edit_mode' => !$this->isNew(), 
     'template' => '<div>%file%<br />%input%<br />%delete% 
%delete_label%</div>', 
    )); 

    $this->validatorSchema['picture'] = new sfValidatorFile(array(
          'mime_types' => 'web_images', 
          'path' => sfConfig::get('sf_upload_dir'), 
          'required' => true, 
          'validated_file_class' => 
'myValidatedResizedFile')); 

    } 

} 

Je soumets le formulaire correctement, après cela, la même forme est montré cette fois de mettre à jour les données submited, mais le problème est ce n'est pas récupérer les informations sur la image, je veux dire, l'image est affichée mais à côté du bouton "Parcourir .." il est écrit "Aucun fichier choisi", en fait, si je tente de soumettre le formulaire, je reçois le message d'erreur "Obligatoire" pour le champ de l'image.

Une idée?

sf 1.4.

Cordialement

Javi

Répondre

1

ajouter juste 'required' => $ this-> isNew():

$this->validatorSchema['picture'] = new sfValidatorFile(array(
          'mime_types' => 'web_images', 
          'path' => sfConfig::get('sf_upload_dir'), 
          'required' => true, 
          'required' => $this->isNew(), 
          'validated_file_class' => 
'myValidatedResizedFile')); 

    } 
+0

fonctionne parfaitement, merci! – JavierIEH

Questions connexes