Bonjour,

petite question au sujet des formulaire:
J'ai un champ que je récupère du AuthComponent et je voudrai qu'il ne puisse pas être modifié avant sa saisie en base ou alors qu'un controle se fasse sur ce champ avant la sauvegarde dans la base, j ai essaye:

de mettre le champ en'disabled' mais la il n entre pas dans ma base
de passer par le Model en faisant 'rule' => AuthComponent::user('ville') cela ne fait rien
et de passer par le Controller

public function agence_ajout($id=null){
        if($this->request->is('post') || $this->request->is('put') && $this->request->data'Reglement']'agence']= AuthComponent::user('ville')){
            $d = $this->request->data'Reglement'];
                if($this->Reglement->save($d)){
                    $this->Session->setFlash("Le règlement a bien été enregistré","notif");
                }
            $this->redirect($this->referer());
        }
        $d = array();
        $d'types'] = array(
            'Amex' => 'Amex',
            'Carte bleue' => 'Carte bleue',
            'Chèque'    => 'Chèque',
            'Espèces'   => 'Espèces',
            'VAD' =>'VAD'
        );
        $this->set($d);

    }

et là non plus cela ne marche pas si je change la valeur c'est cette derniere qui est sauvegardée en base.
j'espere m'etre bien expliqué merci d'avance pour votre aide.

Gilles

1 réponse


gilles40
Auteur
Réponse acceptée

Bon jai trouvé, avec un beforeSave

public function beforeSave(){
        if(!empty($this->data'Reglement']'agence']) && isset($this->data'Reglement']'agence']))
            $this->data'Reglement']'agence'] = AuthComponent::user('ville');
        return true; 
    }

si ca peux servir a quelqu un d'autres

Gilles