Verifier si les champs d'un formulaire sont complété

cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005 - 31 mai 2005 à 09:20
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005 - 1 juin 2005 à 11:11
Hello,

je ne sais pas du tout comment faire, mais je souhaite trouver un code qui permet de verifier si l'utilisateur a remplie les champs d'un formulaire ou pas.

Date de mise en ligne,
<SMALL>Format de la date : jj/mm/aaaa </SMALL>,
----

Date de fin de mise en ligne
avant archivage,
<SMALL>Format de la date : jj/mm/aaaa </SMALL>,
----

Titre,


Site internet,
,
----

Fichier,
,
----


quand il clique sur valider, et bien s'il oublie de complété un champs, je voudrai qu'un phrase apparait, genre"Le champs titre n'est pas informé" ou bien "vous n'avez pas complété tout les champs"

Merci d'avance pour votre aide.
bye

13 réponses

arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
31 mai 2005 à 09:54
Salut sema,
Pour vérifier la saisie de champ de formulaire, le mieux est, à mon avis, d'utiliser du javascript.
<script type="text/javascript">
function verifChamps(){
var res=true;
var champs=document.getElementsByTagName("input");
for (i=0;i<champs.length; i++)
res= res || verifchamp(champs.item(i));
return res;
}

function verifChamp(obj) {
if (obj.value=="") {
alert("Le champ "+obj.name+" est vide");
obj.focus();
return false;
}

et dans la définition de ton formulaire :
<form action="..." .... onsubmit="return verifChamps();">
...
</form>

En espérant t'avoir aidé,
Arn;o)
0
guth42 Messages postés 27 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 4 juillet 2005
31 mai 2005 à 10:03
Bonjour,

il faudrai regarder du cote des methode 'POST' et 'GET' en fonction de
tes besoins (POST est preferable) beaucoup de tutoriaux/code (sur ce
site et ailleur) explique ces methodes tres simple d'utilisation...



en gros le principe est de faire :



if (isset($_POST['valider']) && isset($_POST['nom']) && $_POST['nom'] != '')

echo '<h1>OK<h1>';

else

{

<form action='' methode=post>





}



Voila bon courage...
0
Tilix Messages postés 171 Date d'inscription samedi 4 décembre 2004 Statut Membre Dernière intervention 31 août 2009
31 mai 2005 à 10:46
Salut,



if($_POST['titre']==""){

$erreur="Vous n'avez pas remplis le titre.";

}

if($_POST['site']==""){


$erreur="Vous n'avez pas remplis votre site.";


}

echo $erreur;



Tu peux faire de ce genre pour que les erreurs s'affiche une par une ...



ou



if($_POST['titre']==""){

echo "Vous n'avez pas remplis le titre.";


}


if($_POST['site']==""){

echo "Vous n'avez pas remplis votre site.";



}



Pour que les erreurs s'affiches toutes en même temps...



j'suis débutant, mais j'pense que sa devrais aller
0
floxone Messages postés 88 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 10 août 2007
31 mai 2005 à 10:57
Un conseil, passe par javascript : ecoute guth42. C'est vraiment génial...

Mais tu peux toujours reverifier en PHP pour eviter qu'un malin ne desactive son javascript et te plante tout...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
31 mai 2005 à 11:08
Oups, j'en ai oublié une partie. Il fallait lire :

<script type="text/javascript">
function verifChamps(){
var res=true;
var champs=document.getElementsByTagName("input");
for (i=0;i<champs.length; i++)
res= res || verifchamp(champs.item(i));
return res;
}

function verifChamp(obj) {
if (obj.value=="") {
alert("Le champ "+obj.name+" est vide");
obj.focus();
return false;
}


et dans la définition de ton formulaire :
<form action="..." .... onsubmit="return verifChamps();">
...
</form>

Pour vérifier les dates, tu peux, par exemple, ajouter une class champDate à tes champs dates :

et dans la fonction verifChamp(obj), ajoute :
if (obj.className=="champDate")
vérifier format date
...
0
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005
31 mai 2005 à 11:24
oups, je n'avais pas vue toutes vos reponse.
entre temps, j'avais fais ça:

function check_form() {
if (document.ajout_breve.datefin.value == "")
{
alert("Veuillez entrer la date de fin de mise en ligne");
document.ajout_breve.datefin.focus();
return false;
}

if (document.ajout_breve.titre.value == "")
{
alert("Veuillez entrer le titre");
document.ajout_breve.titre.focus();
return false;
}

if (document.ajout_breve.texte.value == "")
{
alert("Veuillez entrer du texte au moins dans le premier paragraphe");
document.ajout_breve.texte.focus();
return false;
}
return true;
}

et ce code là fonctionne!!!

la date est au format texte
et je voudrai que l'utilisateur entre sous le format jj/mm/aaaa
j'aimerai mettre une alerte quand il me met n'importe quoi dans ce champs!!!!
est ce que vous savez si on peut verifier ça!!!
c'est à dire manipuler les caractères????

merci pour votre aide surtout
0
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005
31 mai 2005 à 11:29
comment coder:

if (document.ajout_breve.datefin != du format jj/mm/aaaa)
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
31 mai 2005 à 12:19
0
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005
31 mai 2005 à 14:57
Merci arnal169130,
j'ai pris ce code(du dernier lien)
mais je n'arrive pas à l'adapter à mon code:

je sais que la fonction est à mettre entre <head> et </head>

voila la fonction :

function isDateValid(chaineDate) {


// Je regarde tout d'abord si la chaîne n'est pas vide, sinon pas la peine d'aller plus loin
if (chaineDate != "")
{
alert("Veuillez entrer la date de fin de mise en ligne");
document.ajout_breve.datefin.focus();
return false;
}


// J'utilise split pour créer un tableau dans lequel je récupère les jour mois année
// J'attends bien sûr une date formatée en JJ/MM/AAAA
var ladate = (chaineDate).split("/");


// Si je n'ai pas récupéré trois éléments ou bien s'il ne s'agit pas d'entiers, pas la peine non plus d'aller plus loin
if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])))
{
alert("Le format de la date de fin de mise en ligne n'est pas correcte");
document.ajout_breve.datefin.focus();
return false;
}


// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]));


// Bug de l'an 2000 oblige, lorsque je récupère l'année, je n'ai pas toujours 4 chiffres selon les navigateurs, je rectifie donc ici le tir.
var annee = unedate.getYear();
if (((Math.abs(annee)+"").length < 4)
{
annee = annee + 1900;
}


// Il ne reste plus qu'à vérifier si le jour, le mois et l'année obtenus sont les mêmes que ceux saisis par l'utilisateur. return ((unedate.getDate() eval(ladate[0])) && (unedate.getMonth() eval(ladate[1])-1) && (annee == eval(ladate[2])))
}

Je ne sais pas comment il fait que je donne dateChaine à la fonction
en tout cas voila ce que j'ai fais

<tr align="left">
<td align="right">Date de fin de mise en ligne
avant archivage</td>
<td>
<SMALL>Format de la date : jj/mm/aaaa </SMALL>
</td>
</tr>

et
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 15:43
Salut,



le mieux est de toute façon de tout vérifier avec php et de compléter
les valeurs, mais bon une vérif javascript + php évitera d'envoyer la
page...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005
31 mai 2005 à 16:08
merci anthomicro mais comment je peux vérifier en php que l'utilisateur entre bien une valeur de type
int int / int int / int int int int , comme jj/mm/aaaa.
j'espere que je me suis fais bien comprendre
stp si tu peux m'aider
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 17:30
avec des expressions régulières



www.expreg.com

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_sema Messages postés 110 Date d'inscription mardi 22 mars 2005 Statut Membre Dernière intervention 16 juin 2005
1 juin 2005 à 11:11
salut anthomicro,

en faite j'ai pas trop compris les expression régulière.
et comme j'ai pas le temps, je vais rester sur mon idée avec le javascript.

le code de mon script est bon, c'est seulement le passage de paramètre qui n'est pas bon je pense
je ne sais pas comment ça peut fonctionné.
merci si tu peux m'aider, sinon, bah merci quand même!!!

bye
0
Rejoignez-nous