Bonsoir.
Il te faut par exemple faire :
Par contre, dans ta fonction tu fais appel aux méthodes getErrors et isValid, sauf que dans la classe Validator que tu nous montre, elles n'y existent pas.
Bonjour,
Tout d'abord j'ai vue la vidéo de grafikart qui parle de ça mais je ne veut pas faire ça avec la database ce qui rend compliquer l'application pour autre chose, en gros j'ai pas compris.
Alors voila ce je veut faire :
La class Validator :
Je veut faire ça pour évité de charger tous le bordel sur la page qui affiche les formulaires et profité de l'autoloader ce qui est quand même le but.
Mais voila je ne sais pas comment faire ?
de plus j'ai aussi le message App::setFlash() et App::getDB() a faire passer en gros dès que je fait ça Register::registerAction() que l'autoloader sache qu'il doit utiliser la Validator App etc...
Donc voila je suis paumé dans toute ces nouveauté !
Bonsoir.
Il te faut par exemple faire :
Par contre, dans ta fonction tu fais appel aux méthodes getErrors et isValid, sauf que dans la classe Validator que tu nous montre, elles n'y existent pas.
Merci Lartak si si les deux fonction existe je voulais juste pas surcharger la page
du coup j'ai éssayer comme ceci dans Validator :
Puis dans la class Register :
Après je ne sais pas si sait comme ça qu'il faut si prendre car la pour moi c'est tout nouveau !
En tout cas mes erreurs sont bien retourner le formulaire fonctionne comme il faut.
Bonjour @neecride,
Je pense qu'utiliser un champ static pour stocker une instance du même objet, c'est tordu !!!
je parle du champ $validator dans la classe Validator
le mieux serait d'instancier une fois un objet Validator dans ton controller et de passer l'objet aux autres classes par paramètre.
Ta façon de faire empêche la destruction de l'objet par le ramasse miettes car il y aura toujours une référence static dans la classe.
Petit détail qui n'a rien à voir
lorsque tu écris un verbe et que tu ne sais pas s'il faut le terminer par 'é' ou 'er', remplace par le verbe 'prendre' ou "pris"
si ça sonne mieux avec 'prendre', mets 'er' et si ça sonne mieux avec 'pris' mets 'é' (ou 'ée' pour 'prise')
exemple "Bien jouer reste a valider votre compte ! par Email"
Bien pris reste a prendre votre compte ! par Email -> Bien joué, reste a valider votre compte ! par Email
Salut Huggy merci pour l'astuce,
tu veut dir comme ce que Lartak me propose :
j'ai pris cette exemple sauf que mon tableau d'erreur bug je fais une boucle foreach pour les récupérer (prendre sonne mieux que pris donc 'er' si j'ai bien pigé ) .
J'essai de trouver seul mais c'est pas si simple ! quand je fais ça $errors = Register::registerAction(); la ou j'ai mon formulaire, je fait return $validator->getErrors() dans ma class Register du coup la variable $errors retourne mon tableau si il est définie sinon supplied for foreach j'imagine que ce n'est pas comme cela qu'il faut si prendre.