Bonjour,
J'ai suivi la formation La POO en PHP et le cours sur le MVC de graphikart et je m'interesse fortement aux bonnes pratiques pour développer en MVC.
Et là je me pose la question de la validation des données d'un formulaire. C'est à dire tous les controleur à effectué sur le champs avant d'enregistrer (champs obligatoire, données sous forme de mail etc ...) en faite je sais pas ou exactement les faires j'ai une méthode ajout dans mon controleur mais je suis pas sur de les faire à cette endroit ?
Merci de me dire.
Bonjour, le moyen que j'utilise ses une class bien complète qui me permet d'ajouté des class, placeholder, etc..
Et d'ajouté et ses l'important la vérification en regex, où faire des conditions depuis un tableaux ($validator = [
'notEmpty' => ['error' => 'danger', 'message' => 'oops champ vide !'],
'([0-9])' => ['error' => 'danger', 'message' => '@var@ n\'est pas un entier!']
]
Oui mais à quel niveau je ferai les vérification dans le modèle, dans mon controleur, est ce qu'il faut que je crée une classe spécifique pour cela et ou doit je l'appeler ? Je cherche la façn la plus propre merci.
Bonsoir, tu devrais créer une class "Validator" qui va uniquement s'occuper de vérifier tes données grâce à des règles prédéfinies. De cette façon tu pourras faire des vérifications depuis n'importe quel endroit dans ton code. Pour ce qui est de la sauvegarde de tes données la vérification va se faire en général dans le Model.
Cela me fait bizarre de devoir faire des vérification dans le modèle pour moi cela devrait se faire dans le controleur et le modèle ne doit faire aucun traitement enfin je me trompe peut être.
C'est ton Model qui connait les champs qui sont dans ta table. S'il n'y a aucune vérification des requêtes incorrectes peuvent être générées. C'est pour ça qu'il est préférable de faire la vérification dans le Model. Je sais que Cakephp 3.0 le fait dans le Model (ou Table), mais il permet aussi de le faire depuis le controller graçe à leurs class "Validator".
Merci pour vos réponses. Finalement j'ai crée une petite classe qui me sert à valider les données (mail, champs non vide) que j'appels depuis le controleur.
Lorsque je passerai à CakePhp je changerai peut être d'avis.