[CAKE3]Comment récupérer le message flash d'une erreur de validation

Par Ptitchef, il y a 11 ans


Bonjour à tous,
Je bloque sur la façon de récuperer le message d'erreur de validation dans un element flash

// src/Model/Table/NewsletterTable.php public function validationDefault(Validator $validator) { $validator ->NotEmpty('newsletteremail', __("Vous devez indiquer votre Email!")) ->add('newsletteremail',[ 'unique'=>[ 'rule'=>'validateUnique', 'provider'=>'table', 'message' =>__("Vous êtes apparement déjà inscrit à la newsletter !") ], 'validFormat'=>[ 'rule' => 'email', 'message' =>__( "Votre e-mail doit être valide !") ] ]); return $validator; }

Mon debug qui récupère bien l'erreur...

// src\Controller\NewslettersController.php object(App\Model\entity\Newsletter) { 'new' => true, 'accessible' => [ 'newsletteremail' => true ], 'properties' => [], 'dirty' => [], 'original' => [], 'virtual' => [], 'errors' => [ 'newsletteremail' => [ 'unique' => 'Vous êtes apparement déjà inscrit à la newsletter !' ] ], 'repository' => 'Newsletters'

comment passer le message dans mon élément ?

$this->Flash->error("mon message");

d'avance merci

3 réponses

Xen0risDEV, il y a 11 ans

Bonjour,

$this->Flash->error($this->validator['errors']['newsletteremail']['unique']);
Ptitchef, il y a 11 ans

Merci Xen0risDEV, en fait j'ai modifié depuis et j'ai fait plûtot celà :

$this->Flash->error_newsletter("Merci de vérifier vos informations:", [ 'params' => [ 'message'=> $newsletter['errors'] ] ]);

et j'ai fait un foreach $newsletter['errors'] pour récuperer l'ensemble des messages dans mon element
Cordialement

Xen0risDEV, il y a 11 ans

Bonsoir, éventuellement ça peux aussi marche comme cela :)

Cordialement.