Effectivement, la surcharge de ma méthode bindAndSave est la meilleure
solution à mes yeux.
Grand merci à tous pour vos réponses ;o)

Voici la classe après modification.

class EmployeeForm extends BaseEmployeeForm
{
        public function configure()
        {
          unset(
                $this['cn']
          );

          $this->validatorSchema['cn'] = new sfValidatorString();
          ...
        }

  public function bindAndSave(Array $tainted_values = null, Array
$tainted_files = null)
  {
    $tainted_values['cn'] = $tainted_values['givenname'] . " " .
$tainted_values['sn'];
    $this->bind($tainted_values, $tainted_files);
    if ($this->isValid())
    {
      $this->object->save();
      return true;
    }
    return false;
  }

  ...
}


On 19 nov, 15:23, Jason Nivoliez <[email protected]> wrote:
> Lélio ML a écrit :> Il vaut mieux surcharger la méthode sfForm::doSave() je 
> crois
>
> apres verification sur ce que j'avais fait quand j'ai été confronté au
> probleme,
> c'est la methode processForm que j'avais modifié, mais  c'est aussi
> parce que j'avais d'autres choses a y modifier
> en tout cas dans mon processForm(), je fais un setMavariable() juste
> avant le save() et ça marche au poil
>
>   protected function processForm(sfWebRequest $request, sfForm $form)
>   {
>    $form->bind($request->getParameter($form->getName()),
> $request->getFiles($form->getName()));
>     if ($form->isValid())
>     {
>       $notice = $form->getObject()->isNew() ? 'The item was created
> successfully. you can now add pictures and link you item to categories'
> : 'The item was updated successfully. ';
>
>       $item = $form->getObject()->setMavariable($mavariable);
>
>       $item = $form->save();
> ....
--~--~---------~--~----~------------~-------~--~----~
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 à