Découvrir PHP CodeIgniter

Comprendre la librairie de validation de formulaire

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Implémentez des méthodes de validation pour filtrer les saisies. Il s'agit d'éviter l'insertion de n'importe quelle donnée utilisateur directement en base de données,.
07:31

Transcription

On vient donc à l'instant de créer un formulaire très simple. Pour que le formulaire soit utilisable, il va falloir filtrer les entrées C'est à dire que par exemple si on saisit le formulaire tel quel on va vouloir ajouter un champ d'erreur qui nous dira, par exemple, "Veuillez saisir un titre", etc. On va par exemple vouloir valider le contenu de l'article en indiquant à l'utilisateur de ne pas mettre de liens dans son contenu. Dans CodeIgniter beaucoup d'éléments de validation sont disponibles. Vous trouverez tous les éléments de validation sur la documentation en ligne, mais ce que je vais vous présenter maintenant correspond à ce qui est le plus utile ici. On retourne sur notre navigateur, on va aller dans "article", et dans la méthode 'add'. La librairie utilisée pour la validation du formulaire s'appelle 'form_validation'. $this-load, comme on l'a vu, library, form validation et on va créer un certain nombre de règles pour valider notre formulaire. Donc pour créer une règle, vous faites toujours référence à l'objet "this" et maintenant que notre librairie "form validation" a été créée, on peut y faire référence directement. Voila donc là on va créer ces rules grâce à la méthode "set rules" qui prend trois paramètres. Alors, le premier, c'est le nom du champ, à valider. donc ici on a "article name". On avait bien créé le nom du champ "article name" donc ce couple enfait, là, "name" et "name" comme je l'ai dit n'est pas obligé d'être le même que votre champ de base de donnée mais on le fait pour plus de commodité. Voila. Ensuite, le titre du champ donc on met entre quote pour le réaffichage. Donc c'est bien titre de l'article On protège le guillemet avec un backslash, voilà. et en dessous, comme dernier élément on va mettre des validateurs ou des filtres. Le premier filtre va être 'Trim' par exemple. Donc en fait 'Trim' c'est une méthode PHP qui permet de supprimer les espaces en début et en fin de chaîne. Toutes les méthodes PHP de ce genre, donc qui prennent un seul paramètre, sont utilisables ici. Donc on va d'abord supprimer les espaces puis on va indiquer à CodeIgniter que le champ est requis donc en mettant le mot-clef 'Required', et ici on va lui indiquer une longueur minimale. Donc faut que le titre de l'article ait, au moins, par exemple, 3 caractères, et on va indiquer une longueur maximale de 40 caractères. Donc vous noterez bien également que les différents éléments sont séparés par le caractère Pipe. Ce qu'on va tout de suite faire aussi c'est créer des délimiteurs pour le message d'erreur. Donc si là on fait : $this on prend notre objet 'form_validation' et on tape la commande 'set_error_delimiter' qui prend deux paramètres donc ce qu'il y a àmettre avant et ce qu'il y a à mettre après l'erreur. Donc on va simplement les englober dans une '<div' et dans cette '<div' on va juste créer un style, alors là bien sûr je créé le style directement dans la '<div' les bonnes pratiques veuillent bien sûr d'ajouter un classe et de modifier le style de cette classe grâce au CSS. donc premier paramètre avant le message d'erreur, deuxième paramètre après Voilà, on a créé notre délimiteur et le message d'erreur devrait alors s'afficher en rouge. Ensuite, on va lancer la validation. Cette méthode va exécuter, comme dit, la validation donc va vérifier les règles et cet méthode retourne vrai ou faux selon si les règles sont correctes ou pas Donc ce qu'on fait, c'est qu'on va conditionner le retour de cette méthode. Si c'est bon, si tout s'est bien passé Et sinon, eh bien tout simplement on ré-affiche le formulaire. on va aller loader la vue 'article_form_success' Ensuite, on vérifie, là c'est 'delimiters' donc au pluriel, ok et le dernier point ça va être, bien sûr d'afficher les messages d'erreur parce que pour l'instant ils ne sont pas affichés. Là on fait simplement un 'echo validation_errors'. Voilà donc on affichera les messages d'erreur en haut. Donc votre formulaire est prêt. Les éléments de validation également. Là on va actualiser ça et on va essayer de soumettre le formulaire comme ça. Alors il nous dit: The 'Titre de l'article' field is required donc on arrive pas à valider le formulaire, effectivement. On va mettre simplement des espaces. Comme on a la méthode 'Trim' qui supprime les espaces, la validation n'a pas fonctionné. Ici on a un message d'erreur en Anglais, on a la possibilité de personnaliser les messages d'erreur. Ici on rajoute un dernier paramètre. Donc c'est un tableau avec plusieurs éléments qui prend comme paramètre en clef le nom de la condition et en valeur, le message. On rebascule sur notre formulaire. donc on a bien 'Le titre est requis'. on va essayer de mettre 2 caractères par exemple, on nous dit toujours 'Le titre est requis' Ici on va essayer de remplir, on va mettre simplement des espaces. Donc la validation ne passe toujours pas grâce à la méthode 'Trim' qui a supprimé les espaces en trop. Alors maintenant on a quelquechose qui nous gêne un petit peu, c'est que le message est en Anglais et on aimerait bien, éventuellement, le personnaliser. On va juste aller ici rajouter un dernier parametre qui est un tableau qui peut prendre plusieurs valeurs et ici on a une association clef-valeur. La première clef, on va mettre par exemple ici pour la vérification 'required' notre propre message de validation. Voilà, si maintenant on retourne sur notre navigateur, on remplit toujours pas, on a bien : 'Le nom de l'article est requis'. On peut faire deux trois autres petits tests par exemple ici on a bien remplit le titre de l'article, mais il nous manque des caractères. On avait configuré minimum 3 caractères. Donc on nous retourne bien la validation. Et, finalement, on saisit un titre pour l'article, on enregistre, et on nous indique : 'votre article a bien été sauvegardé.

Découvrir PHP CodeIgniter

Installez et configurez CodeIgniter. Abordez ensuite la création de modèles, intégrez des méthodes pour lire et écrire dans une base de données, utilisez des librairies, etc.

1h32 (26 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :28 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !