Le 11 novembre 2018 à 10:29:32 PillsDispenser a écrit :
et en framework JS?
En fait tu as deux types de vérifications :
- Celle front, donc en html5/js. Tu la fait principalement par optimisation pour éviter de solliciter inutilement le serveur si les données récoltées sont fausse.
Par exemple tu un champ "Chaîne youtube" et tu veux que la personne y mettent bien une url Youtube valide.
Dans ce cas c'est facile, tu vas mettre un champ text.
Ensuite en Pré-submit de ton formulaire (c'est un évenement qui se trigger quand l'utilisateur soumet le formulaire) tu vas checker via une Regex par exemple que l'url est valide. Si ce n'est pas le cas tu vas afficher une erreur du style "Le lien de votre chaîne youtube n'est pas valide."
C'est optionnel, mais c'est surtout pratique dans le cas où les données de ton formulaire son soumises en ajax par exemple pour éviter de flooder ton serveur. Et puis la plupart des champs ont déjà une validation HTML avec les input type, y'a que les cas un peu spéciaux comme dans mon exemple à gerer de la sorte.
Cependant il faut pas oublier que les données front sont stockées CHEZ LE CLIENT, et que si il est un peu bidouilleur il peut faire ce qu'il veut de ces données. Par exemple ton champ "Email" il peut modifier le html pour faire sauter la validation et y mettre n'importe quoi. C'est pour cela qu'on dit : "Ne jamais croire les données clients".
- Celle serveur, qui est la VRAI validation. Car si tu enregistre n'importe quoi dans ta BDD tu es à peu près sûr de niquer ton application.
Exemple: Si dans ta base tu as une contrainte d'unicité sur les emails, et que tu n'as pas géré l'exception, eh bien le client va se manger une sale erreur 500.
Du coup ici tu gères tous les cas possibles et tu renvois une erreur sur le champ qui pose problème si il y en a un.