Validation d'un champ avec <>

Signaler
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

Je ne sais pas si je pose ma question au bon endroit (si ce n'est pas le cas, j'en suis désolé)

En fait je souhaite valider un champ de formulaire de la facon suivante:

<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire)
  {
  if(formulaire.form65.value = "xqukcw")
  alert('saisissez le bon texte !');
  else
    formulaire.submit();
}
</SCRIPT>

A la place de = "xqukcw")  je voudrais indiqué "si la valeur est differente de "xqukcw" alors executez l'alerte, et si non envoyez le formulaire.

J'ai essayé avec :
if(formulaire.form65.value <>  "xqukcw") et cela ne fonctionne pas.

Merci de votre aide..

A.

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

= est un opérateur d'affectation.
    c'est à dire que si on fait toto="abc", ça met "abc" dans la variable toto
    javascript est un langage curieux, déroutant... si on vient d'autres langages !
    if ( toto="abc") .... : met "abc" dans la variable toto, et "retourne vrai"

les opérateurs de comparaison c'est     ( oui il y a 2 )
    != ( pour différent ) ...

une doc est indispensable... pourquoi pas SelfHTML ? c'est ici

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007

Bonsoir,

Merci pour l'info != ( pour différent )

En revanche j'ai toujours un PB.

Voici le code JS qui valide mon formulaire.
A la base, une grosse partie de ce code JS est là pour empêcher le spamming du formulaire. Clairement, cela ne fonctionne pas. Quand on entre à la main les caractères interdits, c’est ok, pourtant, ce formulaire est spammé tous les jours.
Au vu du code JS ci-dessous, vous constaterez que j'empêche certain caractères d'être saisi. Malgré tout ils passent quand même. !

Qu'en pensez-vous ?

Merci pour votre aide

A.

<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire)
  {
  if(formulaire.captcha.value != "xqukcw")
  alert('saisissez le contenu image !');
  else
    formulaire.submit();
}
</SCRIPT>

<form action="petition10.cfm" method="post" obj.value.toLowerCase();
 }
</script>  
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007

Je remets le texte qui n'était pas passé en entier.


<hr />
<script language="JavaScript">
function f_validate() {
 mes=""
 good=1
 
 if (document.pet.nom.value=="") {
  mes=mes + "Donnez votre nom !\n"
  good=0
 }
 if (document.pet.pnom.value=="") {
  mes=mes + "Donnez votre prénom !\n"
  good=0
 }
 if (document.pet.email.value=="") {
  mes=mes + "Donnez votre email !\n"
  good=0
 }
 if (good==1) return true
 else {
  alert(mes)
  return false
 }
}
 function first_capital(val) {
  obj=eval("document.pet."+val)
  p1=obj.value
  p1=p1.toLowerCase();
  obj.value=p1
  
  p1=obj.value.substring(0,1)
  p1 = p1.toUpperCase();
  p2=obj.value.substring(1,obj.value.length)
  obj.value = p1+p2
  // s'il y a 2 prénoms ??
  p1=""
  for (var i = 0; i < obj.value.length; i++) {
   car=obj.value.substring(i,i+1)
   if (car==" ") {
    p1=obj.value.substring(0,i)
    p2=obj.value.substring(i+1,obj.value.length)
   }
  }
  if (p1!="") { // cas 2 prénoms
   c1=p1.substring(0,1)
   c1=c1.toUpperCase();
   c2=p1.substring(1,p1.length)
   
   c3=p2.substring(0,1)
   c3=c3.toUpperCase();
   c4=p2.substring(1,p2.length)
   obj.value = c1+c2+" "+c3+c4
  }
  p1=""
  p2=""
  for (var i = 0; i < obj.value.length; i++) {
   car=obj.value.substring(i,i+1)
   if (car=="-") {
    p1=obj.value.substring(0,i)
    p2=obj.value.substring(i+1,obj.value.length)
   }
  }
  if (p1!="") { // cas 2 prénoms
   c1=p1.substring(0,1)
   c1=c1.toUpperCase();
   c2=p1.substring(1,p1.length)
   
   c3=p2.substring(0,1)
   c3=c3.toUpperCase();
   c4=p2.substring(1,p2.length)
   obj.value = c1+c2+"-"+c3+c4
  }
 }
 
 function all_capital(val) {
 obj=eval("document.pet."+val)
 obj.value = obj.value.toUpperCase();
 }
 function all_minuscule(val) {
  obj=eval("document.pet."+val)
  obj.value = obj.value.toLowerCase();
 }

</script>  
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
et où qu'est-y le formulaire ?
    je ne me sens pas trop pour le faire.
et où qu'on teste les caractères interdits ?
    pas vu.
et quand qu'on appelle ces fonctions ?
    difficile de deviner.
et quoi qui faut comprendre par formulaire spammé ?
    un compte de courrier ( avec un courieleur ) peut l'être.
    pas un formulaire. ça ne veut rien dire.

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007

Bonsoir,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>







Oui désolé, mon message précédant était incomplet.







Mon PB est de mieux sécurisé un formulaire qui est "spammé" par différents robots (viagra etc...) et qui rajoute des enregistrements inutiles dans ma DB SQL





J'ai donc en JS mis en place le code ci-dessous afin d'empêcher certains caractères à être insérer dans le formulaire. Les "<, >" etc.... sont normalement bloqué, ce qui pour moi devait interdire tout lien htlm comme :

</form>

<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>un formulaire qui est "spammé"






    ce n'est pas le formulaire qui est spammé, mais l'adresse pour ton courriel
        ( du style prénom.nom@fournisseur.fr par exemple )

    nous sommes tous confronté au problème... hélas, et nul ( au niveau de ceux
        qui pourraient faire : fai, instances légales... ) ne fait rien.

    règle de base : ne laisser son adresse nulle part. ( je me suis même écrit
       un truc pour que l'on puisse me contacter sur les forums... sans donner
       directement mon mail, regardes dans ma signature [M'écrire], tout le
        monde peut l'utiliser,  et toi aussi )

    ensuite, paramétrer les règles de messages ( j'utilisais Outllok Express et
       aujourd'hui DreamMail, c'est pareil ) peut-être pas en tentant d'identifier
       les spams ( c'est quasi impossible ) mais en reconnaissant les vrais courriels
       et en les déplaçant vers des dossiers, le reste : poubelle. on peut ( prudence )
       détruire directement sur le serveur.

       d'aucun utilise des logiciels qui reconnaitraient les spams... je n'en vois pas
       l'utilité  ( pourtant plus de 100 spams par jour ) mais ce n'est qu'un avis
       tout personnel.

    ai-je été clair ? je n'ai donc pas regardé ton formulaire, ton script...
    mais si tu y as des soucis ( autres que le spma, car ce n'est pas là que ça
       ce passe... dis le )

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]     




<hr />
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007

J'ai l'impression de ne pas me faire comprendre.

Je n'ai aucun PB de spam avec des adresses email mais juste des formulaires à protéger contre des robots qui insèrent des liens non désirés.

Voir mon message ci-dessus.

Cordialement

A.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
1° et si le javascript est désactivé ?
2° et si on fait un copier/coller ( ou Ctrl+V )
3° et si on attaque directement le script de l'action donné dans le formulaire
...
<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
12
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
20 février 2007

Well !

Dans les cas que vous citez, que proposez vous comme solutions ?

Merci de votre aide

A.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
_ n'envoyer que si le javascript est activé
    ( submit() et pas de bouton type submit html par exemple )
_ contrôler les zones avant l'envoi ( et pas à la saisie, enfin pas seulement )
_ contrôler ce qui est reçu coté serveur
_ contrôler dans le "script qui met à jour" si on "arrive
    bien par le formulaire"
_ contrôler si l'email est bon, par envoi d'un message et
    attente d'une confirmation avant de mettre à jour
_ ...

... euh ... c'est tout ce qui me vient là, sur le moment.

les points à contrôler n'étant pas exhaustifs, ne s'excluant
    pas l'un l'autre, n'étant pas tous obligatoires...

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />