Test en javascript et réponse erronné

[Résolu]
Signaler
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

j'ai un test de validation d'une saisie dans un formulaire, et le retour du test ne correspond pas à la réalité :

j'ai un input qui récupere une dimension sous la forme min/max

je teste la saisie par ce script :

if (substr_count('/',taille)>1){err+="Le format de la taille n\'est pas valide\n";}
  else {eclate=taille.split('/');if (eclate[0]>=eclate[1]){err+="Le format de la taille n\'est pas valide\n";}}

si min=80 et max=90, alors le test est considéré comme valide (80<=90)
de même si min=100 et max=120, le test est ok (100<=120)

par contre si min=80 et max=120, normalement ce serait ok, mais le test me retourne faux (affichage de "Le format....) et pourtant 80<=120

Qu'est ce qui va pas dans ce script ?

Faites vous plaisir !!

9 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
tu ne veux pas donner le code ?
ben zut alors, tu ne veux plus être dépanné ?

je vais néanmaoins te proposer une piste  !!
c'est moi qui doit faire l'effort :! faut l'faire !

tu fais probablement une comparaison de chaînes de caractères
ça se fait caractères par caractères et avec "90" et "100"
9 est > à 1
fait une comparaison sur des valeurs.... ( Number, parseInt ... )

Bul[mon Site][M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bonjour,
que fait donc la fonction substr_count ??
CordialementBul[mon Site][M'écrire]
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Bonjour,

elle valide le fait que le champ ne comprend qu'un seul "/" sinon message d'erreur

Faites vous plaisir !!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
peut-être...
mais sans, comme sans le formulaire, le champ, l'appel...
ça va être difficile de voir où est l'erreur ! non ?
( pas non plus 2658957 lignes ! le nécessaire, tout
 le nécessaire mais pas plus )
         Bul     [mon Site] [M'écrire]         
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

j'ai pas compris votre remarque...
Une chose est sure, aprés des tests, il se passe cela :
si je rentre 80/90=>pas de message
si je rentre 90/80=>message, c'est normal
si je rentre 100/150=>pas de message
si je rentre 150/100=>message
si je rentre 90/100=>message (c'est là ou il y a un pb)
si je rentre 100/90=>pas de message (c'est pas normal)

j'ai l'impression que la fonction ne compare que les 2 premiers chiffres (10 pour 100 et 90 pour 90)

Faites vous plaisir !!
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Il est clair que en faisant : if (eclate[0]-eclate[1]>0){err+="Le format de la taille n\'est pas valide\n";} ça marche
Mais j'essaie de comprendre pourquoi j'ai cette erreur

Faites vous plaisir !!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
comment on peut corriger sans avoir ce qu'il faut pour le faire ?
je te dirais bien que tu as une erreur à la ligne 68, mais tu ne vas
    pas me croire....
met nous le nécessaire : les fonctions, le formulaire, le champ, l'appel...
mais encore une fois ne nous colle pas tout le code... uniquement le nécessaire.
Bul[mon Site][M'écrire]
Messages postés
88
Date d'inscription
vendredi 8 octobre 2004
Statut
Membre
Dernière intervention
12 octobre 2009

Desolé pour cette atente...le boulot...

Vous avez raison la problematique est là.
Comment faire pour transformer les chaines de caractere en nombre (petit trou de memoire)

Faites vous plaisir !!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
euh : fait une comparaison sur des valeurs.... ( Number, parseInt ... )
          Bul  [mon Site]  [M'écrire]