Validation de formulaire¶
Pourquoi valider un formulaire?¶
- Empêcher les données invalides ou incomplètes
- Améliorer l'expérience utilisateur (messages d'erreur clairs)
- Protéger l'intégrité des données dans
localStorage
Types de validation¶
- Champs obligatoires : Titre, description
- Vérification du format : Email, date, URL
- Longueur : Min/max caractères
- Taille de fichier : Images < 2MB
Champs obligatoires¶
Le libellé des champs obligatoires devrait être succédé d'un *.
Pour votre projet¶
Dans le formulaire, sous chaque champs à valider, vous pouvez ajouter une ligne qui affichera le message d'erreur s'il la donnée contient quelque chose:
<span v-if="errors.title" class="error">{{ errors.title }}</span>
Voici l'exemple complet:
<div class="form-group">
<label for="title">Titre *</label>
<input
id="title"
v-model="formData.title"
type="text"
required
placeholder="Ex: Mon premier vélo"
>
<span v-if="errors.title" class="error">{{ errors.title }}</span>
</div>
Dans la composante : MemoryForm.vue¶
Dans les data()¶
Initialisez une données errors qui contiendra un objet vide:
data() {
return {
errors: {}
};
}
Dans les methods¶
handleImageUpload(event)
- Récupérer...
- Vérifier la taille du fichier (max 2 Mo)
- SI trop grand:
- Afficher une erreur
imgcontenant "Image trop grande, la taille du fichier doit être en bas de de 2 Mo" dans l'objeterrors. - Arrêter (return)
- Afficher une erreur
- SI trop grand:
validateForm()
- Réinitialiser l'objet
errorsà un objet vide { }
- SI titre est vide:
- Ajouter une erreur
titlecontenant "Le titre est obligatoire" dans l'objeterrors
- Ajouter une erreur
- SI description est vide:
- Ajouter erreur une erreur
desccontenant "La description est obligatoire" dans l'objeterrors
- Ajouter erreur une erreur
- RETOURNER vrai SI aucune erreur, SINON faux
handleSubmit()
- Valider le formulaire en appelant
validateForm()- SI non valide:
- Arrêter (return)
- SI non valide:
- ...