Problème vérification nom et age dans formulaire

Résolu/Fermé
Thetcha - 21 nov. 2013 à 09:39
 Utilisateur anonyme - 21 nov. 2013 à 10:37
Bonjour,
J'ai un formulaire qui permet aux personnes de saisir leurs infos mais sur deux champs, j'ai des problèmes de vérification.

Voici les vérifications pour le nom en javascript :


//Gestion du nom
if(champ.Nom.value == '')
{
//Affiche la pop-up
alert('Le nom doit etre renseigne');
//Met le curseur dans le champ demandé
champ.Nom.focus();
return false;
}
else
{
if(champ.Nom.length < 2 || champ.Nom.length > 25)
{
alert('Veuillez renseigner un nom correct');
champ.Nom.focus();
return false;
}
}

Voici les vérifications pour l'age en javascript :


//Gestion de l'âge
if(champ.Age.value == '')
{
alert('L age doit etre renseigne');
champ.Age.focus();
return false;
}
var chkZ = 1;
for(i=0;i<champ.Age.value.length;++i)
if(champ.Age.value.charAt(i) < "0"
|| champ.Age.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("La mention de votre âge n'est pas un nombre!");
champ.Age.focus();
return false;
}

Je ne pense pas que ça soit grand chose à corriger mais impossible de mettre la main sur l'erreur !
Merci

2 réponses

Utilisateur anonyme
21 nov. 2013 à 10:04
Bonjour

Tu dis que tu as des problèmes, mais tu ne dis pas lesquels ! Pourtant ça aiderait. Et tu ne montres qu'une partie du code de validation, pas facile de conclure.
Je vois que tu fais des "return false" quand tu détectes une anomalie, as-tu pensé à faire un "return true" quand tout va bien ?
0
Bonjour le père,
Effectivement je n'ai pas été assez précis.
Alors mes erreurs se situent à chaque fois dans les 2ème vérifications c'est à dire :

Ici pour le nom :

else
{
if(champ.Nom.length < 2 || champ.Nom.length > 25)
{
alert('Veuillez renseigner un nom correct');
champ.Nom.focus();
return false;
}
}

Ici pour l'age :

var chkZ = 1;
for(i=0;i<champ.Age.value.length;++i)
if(champ.Age.value.charAt(i) < "0"
|| champ.Age.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("La mention de votre âge n'est pas un nombre!");
champ.Age.focus();
return false;
}

Et oui je retourne bien 'true' lorsque tout va bien.

Voici le code complet si ça peut vous aidez :

<script language='JavaScript'>
function valider(champ)
{
//Gestion du nom
if(champ.Nom.value == '')
{
//Affiche la pop-up
alert('Le nom doit etre renseigne');
//Met le curseur dans le champ demandé
champ.Nom.focus();
return false;
}
else
{
if(champ.Nom.length < 2 || champ.Nom.length > 25)
{
alert('Veuillez renseigner un nom correct');
champ.Nom.focus();
return false;
}
}
//Gestion du prénom
if(champ.Prenom.value == '')
{
alert('Le prenom doit etre renseigne');
champ.Prenom.focus();
return false;
}
else
{
if(champ.Prenom.length < 2 || champ.Prenom.length > 25)
{
alert('Veuillez renseigner un prenom correct');
champ.Prenom.focus();
return false;
}
}
//Gestion de l'adresse
if(champ.Adresse.value == '')
{
alert('L adresse doit etre renseignee');
champ.Adresse.focus();
return false;
}
//Gestion de l'âge
if(champ.Age.value == '')
{
alert('L age doit etre renseigne');
champ.Age.focus();
return false;
}
var chkZ = 1;
for(i=0;i<champ.Age.value.length;++i)
if(champ.Age.value.charAt(i) < "0"
|| champ.Age.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("La mention de votre âge n'est pas un nombre!");
champ.Age.focus();
return false;
}
//Gestion du numéro de téléphone
var num_tel = champ.Telephone.value;
if(champ.Telephone.value == '')
{
alert('Le telephone doit etre renseigne');
champ.Telephone.focus();
surligne(champ, true);
return false;
}
else
{
var chiffres = new String(num_tel);
// Enlever tous les charactères sauf les chiffres
chiffres = chiffres.replace(/[^0-9]/g, '');
// Nombre de chiffres
compteur = chiffres.length;
if (chiffres.length != 10)
{
alert("Assurez-vous de rentrer un numero a 10 chiffres (xx-xx-xx-xx-xx)");
champ.Telephone.focus();
return false;
}
}
return true;
}
</script>

D'avance merci
0
Solution trouvée !
J'avais oublié de mettre value.length !
0
Utilisateur anonyme
21 nov. 2013 à 10:37
Toujours aussi vague...
Tu ne dis toujours pas quel est ton problème ! Tu dis où il se trouve (ce que je trouve bizarre, puisque tu ne sais pas quel est le problème justement !).
Peux-tu me dire ce qui se passe mal, c'est à dire quelle est la différence entre ce que tu attends et ce qui se passe ?

Peux-tu aussi montrer comment tu appelles le code de validation ?
0