merci 

> -----Message d'origine-----
> De : [email protected] 
> [mailto:[email protected]] De la part de Fabien Vauthey
> Envoyé : mardi 12 mai 2009 11:33
> À : Symfony-fr
> Objet : [symfony-fr] Re: prevalidator
> 
> 
> Bonjour,
> 
> J'ai aussi rencontré le problème (pas avec un input type=file 
> mais deux type=text), que j'ai résolu de la manière suivante :
> 
> //Dans la méthode processForm() du controlleur sur l'objet concerné:
> 
> protected function processForm(sfWebRequest $request, sfForm $form)
>               {
> $params = $request->getParameter($form->getName());
> 
> if($params['name']=='')
> $params['name']=$params['file'];
> 
> $form->bind($params, $request->getFiles($form->getName()));
> 
> if ($form->isValid()) [...]
> 
> Voila. Bon courage :)
> 
> Cordialement,
> 
> On 12 mai, 10:26, Mailing-list Lélio <[email protected]> wrote:
> > Bonjour,
> >
> > Voilà ce que j'aimerais faire. Dans un formulaire j'ai deux 
> champs : 'name'
> > (input text) et 'file' (input file). J'aimerais que si le 
> champ 'name' 
> > est vide, il prenne la valeur du nom du champ 'file'.
> >
> > Pour ce faire, j'ai mis en place un sfValidatorSchema en 
> prévalidation.
> > Malheureusement, ça ne fonctionne pas : mon champ 'name' 
> reste vide. 
> > J'ai l'impression que les values modifiés ne sont pas 
> prises en compte 
> > alors que le validatorSchema est bien utilisé (vérifié).
> >
> > //dans le DocumentForm.class.php
> > Public function configure()
> > {
> >         parent::configure();
> >         //... Manipulation des widget et validator pour chaque champ
> >         $this->validatorSchema->setPreValidator(new
> > sfValidatorSchemaDocName());
> >         //les unset() nécessaires
> >
> > }
> >
> > //dans sfValidatorSchemaDocName.class.php
> > protected function doClean($values)
> > {
> >         if (is_null($values)) {
> >             $values = array();
> >         }
> >         if (!is_array($values)) {
> >             throw new InvalidArgumentException('You must 
> pass an array 
> > parameter to the clean() method');
> >         }
> >         if ('' == trim($values['name'])
> >         && isset($values['file'])
> >         && is_array($values['file'])
> >         && isset($values['file']['name'])) {
> >             $values['name'] = $values['file']['name'];
> >         }
> >
> >         return $values;
> >
> > }
> >
> > Merci de votre aide
> >
> > PS : je suis avec symfony 1.2 et Propel.
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à