Bonjour,
Je ne parviens pas à voir ou j'ai fais une erreur dans la validation pour le champs number et la case à cocher.
Avez vous une idée ?
https://codepen.io/aaashpnt-the-sans/pen/wvbyrRz
Bonjour,
Je ne parviens pas à voir ou j'ai fais une erreur dans la validation pour le champs number et la case à cocher.
Avez vous une idée ?
https://codepen.io/aaashpnt-the-sans/pen/wvbyrRz
Bonjour,
Avec ce code, si par exemple les variables name et number sont invalides, seulement le bloc de name qui sera executé, car les instructions de else if sont successives.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (name.length < 3) { res.json({ 'alert': 'name must be 3 letters long' }); } else if (!email.length) { res.json({ 'alert': 'enter your email' }); } else if (password.length < 8) { res.json({ 'alert': 'password must be 8 letters long' }); } else if (!Number(number) || number.length < 10) { res.json({ 'alert': 'invalid number, please enter valid one' }); }
La même chose pour cette partie de code aussi
Utilisez seulement des if au lieu de else if
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 if (fullname.value.length < 3) { showFormError('name must be 3 letters long'); } else if (!email.value.length) { showFormError('enter your email'); } else if (password.value.length < 8) { showFormError('password must be 8 letters long'); } else if (!Number(number) || number.value.length < 10) { showFormError('invalid number, please enter valid one'); } else if (!tac.checked) { showFormError('you must agree to our terms and condition'); } else { // submit form loader.style.display = 'block'; sendData('/signup', { name: fullname.value, email: email.value, password: password.value, number: number.value, tac: tac.checked }) }
Super sa fonctionne, je ne dois pas avoir un else if partout ?
Bonjour,
Pour ce cas oui, vous devez utiliser seulement des if, car vous essayez de récupérer plusieurs erreurs à la fois, pas seulement une.
Bonjour,
je serais curieux de voir cela car avec cette ligne appartenet à formBtn.addEventListener('click', () => { :Envoyé par cdevl37
on entrera toujours dans la condition, en effet !Number(un_HTMLElement) sera invariablement à true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part } else if (!Number(number) || number.value.length < 10) {
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
en effet et quel est la solution ?
La plus simple du monde, faire le test sur la valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part } else if (!Number(number.value) || number.value.length < 10) {
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
car j'ai deux fichier ou je fais les testes, je dois le faire que dans le form.js ? ce test :forms.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part } else if (!Number(number.value) || number.value.length < 10) {
server.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // form validation if (fullname.value.length < 3) { showFormError('name must be 3 letters long'); } if (!email.value.length) { showFormError('enter your email'); } if (password.value.length < 8) { showFormError('password must be 8 letters long'); } if (!Number(number) || number.value.length < 10) { showFormError('invalid number, please enter valid one'); } if (!tac.checked) { showFormError('you must agree to our terms and condition'); } else {
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 // form validation if (name.length < 3) { res.json({ 'alert': 'name must be 3 letters long' }); } if (!email.length) { res.json({ 'alert': 'enter your email' }); } if (password.length < 8) { res.json({ 'alert': 'password must be 8 letters long' }); } if (!Number(number) || number.length < 10) { res.json({ 'alert': 'invalid number, please enter valid one' }); } if (!tac) { res.json({ 'alert': 'you must agree to our terms and condition' }); } else {
avec un minimum de réflexion je pense que tu aurais trouvécar j'ai deux fichier ou je fais les testes, je dois le faire que dans le form.js ?
dans ta partie serveur.js tu utilises directement les valeurs que tu révupères ici :
dans ta partie form.js tu récupères les élément du DOM
Code : Sélectionner tout - Visualiser dans une fenêtre à part const { name, email, password, number, tac } = req.body;
il aurait été mieux d'avoir la même philosophie de traitement, à savoir à partir des valeurs, et d'écrire par exemle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 formBtn.addEventListener('click', () => { let fullname = document.querySelector('#name'); let email = document.querySelector('#email'); let password = document.querySelector('#password'); let number = document.querySelector('#number'); let tac = document.querySelector('#tc'); // ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 formBtn.addEventListener('click', () => { let fullname = document.querySelector('#name').value; let email = document.querySelector('#email').value; let password = document.querySelector('#password').value; let number = document.querySelector('#number').value; let tac = document.querySelector('#tc').checked; // ....
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
Merci a vous de votre aide.
J'ai enfin réussi, par contre j'ai un autre soucis avec un autre formulaire ou je ne parviens pas a trouver mon erreur, quand je clic sur "get you account" j'ai le loader qui tourne en boucle.
Avez vous une idée ?
https://codepen.io/aaashpnt-the-sans/pen/wvbyrRz
que dire si ce n'est :Envoyé par cdevl37
Une discussion = une question
Poser plusieurs questions dans un seul et même fil nuit grandement à la qualité du forum : notamment, lors d'une recherche, tout le contenu du fil n'est pas indiqué dans le titre, elle devient donc plus ardue.
Notre but est de maintenir une base de connaissances facile à exploiter par tous les visiteurs, utilisable par tous. Vous avez pu bénéficier de ce forum en posant vos questions, laissez la possibilité aux suivants de bénéficier des réponses en leur offrant un sujet moins dispersé.
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager