j'ai un léger soucis de code qui à mon avis sera vite régler
J'ai crée un formulaire qui enregistre un étudiant a ce niveau pas de problème, Je veux vérifier que chaque champ sois remplir avant d'envoyer les données du formulaire mais je n'arrive pas, j'ai vraiment besoin de votre aide.
Je vous l'aise le code html et JavaScript pour que vous pussiez mieux comprendre.
// Recuperation des éléments
let bnt_enregistrer = document.querySelector("#enregistrer")
let paragraphe_erreur = document.querySelector(".erreur");
let inputs = document.querySelectorAll("input")
let valeur_radio;
let erreur;
bnt_enregistrer.addEventListener("click", (e) => {
// On verifie que tout les champs sont remplir
for (let i = 0; i < inputs.length; i++) {
if (!inputs[i].value) {
console.log("input pris en charge", inputs[i]);
erreur = "Veuillez remplir tous les champs"
}
}
if (erreur) {
paragraphe_erreur.textContent = erreur
}
else {
alert("Formaulaire validé")
}
e.preventDefault();
})
Si tu voulais sécuriser pour être sûr que personne ne pirate ton formulaire, il faudrait faire la vérification sur une page php, sinon n'importe qui peut faire clic droit > inspecter l'élément > et éditer le code js que tu as mis, car le js est écrit dans la page du navigateur. Alors que le php se trouverait sur une page php sur le serveur (l'endroit ou tu mets toutes tes pages quand le site est en ligne) et dans ce cas il n'aurait pas accès à ce code là (enfin il y a des protections à rajouter, mais c'est déjà beaucoup plus sécurisé.)
Bonjour tu pourrais nous indiqué ce qui ne fonctionne pas avec ton code actuel, est-ce que tu as message d'erreur dans la console de développement ?
Comme te la dit @Arthur222 l'attribut required peut te permettre d'indiqué au navigateur que le champs et obligatoire (il doit contenir un caractère où plus), sans avoir besoin d'écrire du javascript, si pour certain champs tu veut posé des contraintes sur le format (par exemple pour le champs nom et prénom) tu peut aussi utilisé l'attribut pattern
Qui n'accepteras que les contenue commençant par une lettre majuscule suivit de 1 à 30 lettres minuscules puis rien d'autre.
Avec cette solution là ces le navigateur qui affiche un message d'erreur à utilisateur je ne pense pas que ce soit personnalisable où si le message et personnalisable la mise en forme ne le sera pas.
Si veut une personnalisation plus poussé des messages d'erreurs il faudra en effet que tu fasses le traitement manuellement via du javascript pour pouvoir inséré manuellement les messages d'erreur et appliqué le CSS que tu voudras.
A noté que ces vérifications sont faites côté client (dans le navigateur), le serveur qui reçoit les données, doit quand même les vérifiées avant de les validées, les vérifications côté client servent à avertir l'utilisateur que le formulaire ne seras pas validé par le serveur et donc de corrigé ses erreurs plus vite, c'est uniquement pour le confort de l'utilisation elle n'apporte aucune couche de sécurité, un utilisateur mal intentionné pourrait facilement ouvrir sa console de développement modifié la structure HTML (retiré les l'attributs required et pattern des input) pour désactivé la vérification faite par son navigateur.
- Edité par SamuelGaborieau3 29 novembre 2021 à 10:11:54
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
suggestion de présentation.