Rechercher : dans
Par :

Vérifier le type des données d'un formulaire

Dernière réponse le 24 oct 2008 à 18:00:23 ndnadia, le 23 oct 2008 à 17:53:23 
 Signaler ce message aux modérateurs

Bonjour,
Est ce que qqun a une idée sur le contrôle du type des données introduisent ds les champs d'un formulaire?

<input type="text" class="input" name="nom"/>

comment puis je vérifier si l'utilisateur a introduit ds l'input un texte ou un nombre ou bien une date??

merci

Configuration: Windows Vista
Firefox 3.0.3

1

macgawel, le 23 oct 2008 à 18:01:20

Bonjour.

Deux solutions :

1. Tu vérifies au moment où l'utilisateur remplit ses champs.
=> Il faut utiliser du Javascript.
Inconvénient : si quelqu'un veut "tricher", il peut (il suffit de désactiver le Javascript).

2. Tu vérifies une fois que le formulaire est envoyé.
=> Il faut utiliser un langage de script du côté serveur.
Le plus utilisé est le PHP.
Inconvénient : tu ne fais les vérifications qu'une fois que le formulaire est envoyé (on est en mode "transactionnel").
Si tu donnes à celui qui a faim un poisson, tu le nourris pour un jour
Si tu lui apprends à pêcher, tu le nourris pour toujours.

Répondre à macgawel

2

dimi3, le 23 oct 2008 à 18:38:35

Des idées à tester :

Pour un nombre :

if(formulaire.entreenombre.value >= 0) {
}
else
{
alert("Entrez un nombre !")
}

Pour une date :
DS = new Date()
D1 = new Date(formulaire.entreeDate.value)
if (D1 <= DS || D1 > DS) {
}
else
{
alert("Entrez une date !")
}

Répondre à dimi3

3

ndnadia, le 24 oct 2008 à 09:50:16

Merci pour vos réponses,
j'ai essayée ton idée Dimi3 pour vérifier le champ 'nb_hab' de type INT: j'ai mis dans la page insertion.php le code suivant:

if(formulaire'".$nb_hab."'.value >= 0) {
}
else
{
alert("Entrez un nombre !");
}

j'ai testée ça en introduisant un mot ds ce champ de type INT, mais pas d'alert!!

Répondre à ndnadia

4

sebv33, le 24 oct 2008 à 11:41:32

Essaye avec ça:
if(intval(formulaire'".$nb_hab."'.value) >= 0) {

Répondre à sebv33

5

ndnadia, le 24 oct 2008 à 12:07:11

:( tjrs la même chose, pas d'alert!!

Répondre à ndnadia

6

sebv33, le 24 oct 2008 à 12:22:42

J'avais pas vu le >=....
intval() renvoie 0 si l'argument n'est pas numérique, donc dans ton cas il faudrait mettre > mais si un utilisateur tape "0" il aura l'alert....

Répondre à sebv33

7

ndnadia, le 24 oct 2008 à 13:17:45

J'ai essayée autre chose, dans la page où il y a la requête pr l'insertion des données j'ai mis:
if(is_int($nb_hab))
{}
else
{echo 'Veuillez entrer un nb_hab valable';}

ça aussi ne marche pas!

Répondre à ndnadia

8

ndnadia, le 24 oct 2008 à 17:59:05

Désolée, c'est bien fonctionnel le code, j'ai pas placée le code dans le fichier cible du form!!
merci en tt cas:)

Répondre à ndnadia

9

 briiiiix, le 24 oct 2008 à 18:00:23

Mais tu peux forrcer la saisie d'un certain type de données si tu veux

Répondre à briiiiix