CakePHP - $validate n'affiche rien

Résolu/Fermé
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 - 26 mars 2010 à 15:06
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 - 28 avril 2011 à 18:24
Bonjour à tous,

Problème :
Quand un visiteur valide le formulaire je désire vérifier qu'il a bien saisi un nom et prénom. Seulement lors de la validation, avec erreur, aucune erreur ne s'affiche.

Code Model :
var $validate = array(
'name' => array(
'rule' => array('minLength', 8),
'message' => 'Les noms d\'utilisateur doivent avoir au moins 8 caractères.'
),
'prenom' => array(
'rule' => array('minLength', 8),
'message' => 'Les prénoms d\'utilisateur doivent avoir au moins 8 caractères.'
)
);


Code Controller :
function identification(){
if(isset($this->data)){
$resultat = $this->Client->save( $this->data );
if ($resultat) {
$this->flash('Le client vient d\'être ajouté', array('controller'=> 'Clients',
'action'=>'identification'));
}

}

}


Code vue :
echo $form->input('name',array('label'=>'Nom :'));
echo $form->input('prenom',array('label'=>'Prénom :'));


Observation :
Je remarque que quand je valide le formulaire, l'espace entre mes deux champs augmente comme pour laisser de la place à un message, mais rien ne s'affiche.

Merci de votre aide pour résoudre ce problème.

1 réponse

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
Modifié par Nico_ le 3/04/2010 à 15:11
Bonjour,
Je fais de la façon suivante :

Dans les deux cas se sont les codes du controlleur

function identification(){  
if (empty($this->data)==false) { 
$resultat = $this->Client->save( $this->data ); 
if ($resultat) { 
$this->flash('Le client vient d\'être ajouté', array('controller'=> 'clients', 
'action'=>'identification')); 
}
}
}  


Si non tu peux tester comme suit :

function identification(){  
$this->Client->set($this->data); 
 if ($this->User->validates()) { 
$resultat = $this->Client->save( $this->data ); 
if ($resultat) { 
$this->flash('Le client vient d\'être ajouté', array('controller'=> 'clients', 
'action'=>'identification')); 
}  
}
}

Bonne journée
Si résolu, n'oublie pas de cliquer !
0
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
11 avril 2010 à 14:59
Merci de t'être penché sur mon problème.

J'avais omis de dire que le problème était résolu. en fait c'est les accents qui posé problème.
0
comment t'as resolue ce problème SVP ???
j'ai pas trouver des solution moi :((
0
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
28 avril 2011 à 18:24
Dans mon model, le champ 'message' comporté des accents, le problème venais de la. J'ai supprimer les accents xD
0