bonjour,

Voila j ai un gros soucis au niveau de mon $validate dans mes models.

voici ce que j ai:

public $validate = array(
        'login' => array(
                array(
                    'rule' => 'alphaNumeric',
                    'required' => true,
                    'allowEmpty' => false
                ),
                array(
                    'rule' => 'isUnique',

                )
        )
       );

ou encore:

public $validate = array(
        'quantite' => array(
                array(
                    'rule' => 'numeric',
                    'required' => true,
                    'allowEmpty' => false
                )                    
        ),
        'prix' => array(
                array(
                    'rule' => 'numeric',
                    'required' => true,
                    'allowEmpty' => false
                )                    
        )
    );

Mais rien a faire, si je rentre les bons caracteres (un nombre ou un mots [suivant le regle]) ce ne passe pas,

Comment cela ce fait il?

Merci d avance.

Djou

9 réponses


salut,
Essaye avec ce code pour tester ton login :

public $validate = array(
        'login' => array(
            array(
                'rule' => 'alphanumeric',
                'required' => true,
                'allowEmpty' => false, 
                'message' => "Votre login n'est pas valide"
            ),
            array(
                'rule' => 'isUnique',
                'allowEmpty' => false,
                'message' => "Ce nom d'utilisateur est déja pris"
            )
        )
);
pikadjou
Auteur

non ce ne fonctionne pas :s

Tu n'as aucun message d'erreur ?
Peux tu poster ta fonction correspondant à tes validates ?

pikadjou
Auteur

si le message c est: "Votre login n'est pas valide".

Dans le fonction je fais un: $this->Joueur->validates($d'Joueur']) avec $d = $this->request->data

fait validates $d directement et non pas $d'Joueur'];

pikadjou
Auteur

ca ne retourne encore : "Votre login n'est pas valide"

Mais apres quelques tests on dirait que il ne connait pas login,
or mon debug de $d donne:

[Joueur] => Array
        (
            [login] => lol
            [id] => 
        )
    [Ville] => Array
        (
            [name] => 
            [id] => 
        )
    [Armee] => Array
        (
            [name] => 
            [id] => 
        )
    [Hero] => Array
        (
            [name] => 
            [id] => 
        )
    [Proche] => Array
        (
            [pseudo] => 
        )
)
pikadjou
Auteur

Je me permet un petit up :s

Montre un peu ton controller :)

pikadjou
Auteur

vraiment dsl pour le retard bcp de boulot pour l'ecole.

Voici la partie de mon controller:

if($this->Joueur->validates($d) && $this->Ville->validates($d) 
                           && $this->Armee->validates($d) && $this->Hero->validates($d)){