🗓️ancien TD04 : vérification front

Validation des données entrées dans les champs des formulaires

Partie 1 - Validation des données

Nous verrons ici comment obtenir nos données dans le format souhaité. Par exemple dans un champs prix, nous voulons que l'utilisateur rentre des chiffres

Afin de faciliter le développement, nous utiliserons ici le plugin javascript : Parsley.js

Installation du plugin

Téléchargez le javascript et le css du plugin

Importez le plugin

Dans votre <head>, ajoutez les lignes suivantes :

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="parsley.min.js"></script>
<link rel="stylesheet" href="parsley.css">

Activez le plugin sur votre formulaire

Ajoutez l'attribut data-parsley-validate à votre formulaire

<form action="reponse_recherche.php" data-parsley-validate>

Activez la vérification des champs

Ici nous souhaitons valider des chiffres, nous allons donc utiliser l'option data-parsley-type="number" sur nos champs

<p>
    <label for="duree_mini">Durée minimum (en minutes)</label>
    <input type="text" id="duree_mini" name="duree_mini" placeholder="10" data-parsley-type="number">
</p>

Testez

Il est possible de traduire les erreurs en éditant le fichier parsley.js

Le plugin sait valider tous types de champs :

  • Nombre

  • Entier

  • Email

  • Url

  • Champs obligatoire

  • ...

Je vous renvoie à la documentation pour plus d'informations

Partie 2 - Autocompletion

Afin de faciliter l'usage du site à nos visiteurs, nous avons utiliser la completion automatique sur notre champ de recherche.

L'autocompletion est le fait de proposer des résultats à l'utilisateur au fur et à mesure qu'il tape des caratères dans le champ du formulaire.

L'autocompletion de Google

Une nouvelle balise HTML5 à la rescousse

La 5ème version d'HTML a apportée son lot de nouveautés, la prise en charge nativement d'une autocomplétion par les navigateurs en fait partie.

Nous allons donc utiliser la balise <datalist>

1) Créez votre liste de propositions

<datalist id="realisateurs">
    <option value="Allen">
    <option value="Donner">
    <option value="Kubrick">
    <option value="Nolan">
    <option value="Tarantino">
    <option value="Tessari">
</datalist>

Pour le moment cette liste est faite à la main, en 2ème partie de SAE vous aurez les compétences pour la générer automatiquement avec PHP. De fait, la liste sera toujours à jour. Si vous ajoutez un réalisateur dans votre BDD, il sera proposé dans cette liste.

2) Lier la liste avec l'input

Ajoutez l'attribut list afin de lier votre champ de texte à votre liste

<input type="search" list="realisateurs" id="real" name="real" />

Exemple pour un formulaire de recherche de réalisateurs

 <form action="reponse_recherche.php">
    <label for="real">Entrez un nom de réalisateur :</label>
    <input type="search" list="realisateurs" id="real" name="real" />
    <datalist id="realisateurs">
        <option value="Allen">
        <option value="Donner">
        <option value="Kubrick">
        <option value="Nolan">
        <option value="Tarantino">
        <option value="Tessari">
    </datalist>
    <input class="btn btn-primary" type="submit" value="Rechercher" id="submit">
  </form>

Bug avec l'autofill ou remplissage automatique des champs

Allez plus loin avec les plugins

Si vous souhaitez aller plus loin des plugins d'autocomplétion plus performants et personnalisables existent :

Dernière mise à jour