Formulaire et carte
Énoncé
Téléchargez les fichiers de départ de l’exercice : exercice-3-formulaire-et-carte.zip
Affichage d’une carte interactive
Une div <div class="map" id="mapId"></div> est déjà présente dans le fichier HTML.
L’objectif est d’afficher une carte interactive à l’intérieur.
Pour cela, aidez-vous de la documentation en ligne suivante : https://www.datavis.fr/maps/leaflet-firstmap
La documentation complète de la librairie est accessible ici : https://leafletjs.com/ mais vous ne devriez pas en avoir besoin pour cet exercice.
- Affichez une carte à n’importe quelles coordonnées dans la div
<div class="map" id="mapId"></div> - Centrez la carte sur Sud-Management ou n’importe quel endroit de votre choix.
- Différentes solutions pour obtenir les coordonnées GPS d’un point :
- Ajoutez un pointeur (marker) sur l’adresse que vous avez choisi.
Interceptez l’envoi du formulaire pour pouvoir le valider.
- par exemple en affichant une alerte ou un console.log
Validation du champ nom
- ne doit pas être vide
- doit faire au moins trois caractères
- Si le champ est valide :
- On met sa bordure en vert
- Si le champ est invalide :
- On met sa bordure en rouge
- On affiche un message d’erreur dans la div
<div id="erreur-name"></div>
Validation du champ mail
- ne doit pas être vide
- doit être conforme à la regex
/[a-zA-Z0-9._]*@[a-zA-Z0-9-]*\.[a-z]*/gm - même comportement en cas de validation ou d’erreur que pour le champ name.
Validation du champ phone
- peut être vide.
- s’il est rempli, il doit être conforme à la regex
/^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/ - s’il est invalide : border rouge + message
- s’il est vide : bordure lightgrey, pas de message
- s’il est valide : bordure verte
Validation du champ subject
- ne doit pas être vide
- doit faire entre 20 et 255 caractères
- même comportement en cas de validation ou d’erreur que pour le champ name.
Vérifiez que le formulaire n’est pas envoyé si un champ présente une erreur.