J'ai un champ dans un formulaire créé dynamiquement qui permet suivant un paramètre, de rentrer une heure. Je fait un contrôle de saisie sur la validité du format que voici:
Mon soucis est ici:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 for (i = 1; i < col; i++) { v = ""; if (tpe == 'A') { v = document.getElementById("contenu_dgMesures_txt" + tpe + i).value; } else { v = document.getElementById("contenu_dgMesures_txt" + tpe + i + "_" + item).value; } if (trim(v) != "") { k += 1; p = document.getElementById("contenu_dgMesures_hdParam" + i).value; switch (p) { case "1013": if (v != "") { if (!isDate(v,'HH:mm')) { if (v < "00:00" || v > "24:00") { msg += "Colonne " + (i + 1) + ", temps invalide!\n"; j += 1; } } } break; case "937": if (isNaN(v.replace(",", "."))) { msg += "Colonne " + (i + 1) + ", valeur non numérique!\n"; j += 1; } break; default: if (isNaN(v) || v.indexOf(".") != -1) { msg += "Colonne " + (i + 1) + ", valeur non numérique!\n"; j += 1; } break; } } }
Lorsque dans mon TextBox (en ASP.Net) je saisie l'heure suivante: "06 : 55" (remarquez bien les espaces que je met pour tester le contrôle), ma comparaison passe comme réussie et du coup le programme reconnait ce format comme valable lors du passage au dernier if où je fait deux comparaisons. Or la chaîne devrait être supérieur et donc renvoyer une erreur à l'utilisateur mais non ! Comment je peut résoudre ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 case "1013": if (v != "") { if (!isDate(v,'HH:mm')) { if (v < "00:00" || v > "24:00") { msg += "Colonne " + (i + 1) + ", temps invalide!\n"; j += 1; } } } break;
Partager