17/04/2012, 17:06:24
Pages : 1 2
17/04/2012, 22:01:46
Créer une UDT : validating
remplacer [unspecified] par ce que vous avez mis dans l'onglet "paramètres d'affichage du formulaire" -> Texte à renvoyer pour les valeurs de champ non spécifiées : [unspecified]
Formulaire :
1° Ajouter un champ mail (nom : email2) sans validation avec une classe hidden (css : form.hidden {display:none;})
2° onglet "envoi du formulaire" : Balise utilisateur à appeler pendant la validation du formulaire : choisir l'UDT validating
Bonjour les bots, si ce champ a été rempli, le formulaire ne sera pas validé et le message "il semble que vous êtes un robot spammeur. Veuillez utiliser le formulaire contact si ce n'est pas le cas." apparaîtra.
Edit: champ email au lieu de champ texte, voir plus haut http://www.cmsmadesimple.fr/forum/viewto...842#p11842
Code :
if ($params['email2'] != '[unspecified]') {
echo "il semble que vous êtes un robot spammeur. Veuillez utiliser le formulaire contact si ce n'est pas le cas.";
return array(false);
}
else return array(true);
Formulaire :
1° Ajouter un champ mail (nom : email2) sans validation avec une classe hidden (css : form.hidden {display:none;})
2° onglet "envoi du formulaire" : Balise utilisateur à appeler pendant la validation du formulaire : choisir l'UDT validating
Bonjour les bots, si ce champ a été rempli, le formulaire ne sera pas validé et le message "il semble que vous êtes un robot spammeur. Veuillez utiliser le formulaire contact si ce n'est pas le cas." apparaîtra.
Edit: champ email au lieu de champ texte, voir plus haut http://www.cmsmadesimple.fr/forum/viewto...842#p11842
17/04/2012, 22:12:46
Merci beaucoup JLC !
En cours de test. J'avais quasi tout bon, sauf le php, évidemment...
En cours de test. J'avais quasi tout bon, sauf le php, évidemment...
17/04/2012, 22:27:18
bess a écrit :non, on lit sur la toile que les bots se sont adaptésC'est que ton site est trop bien coté
a vrai dire il n'y a pas grand chose qui soit pas pété par les bots... même recaptcha fait un gros fail quand tu sais que certains programmeurs indiens sont payés au Captcha saisit ... que veux tu faire ?
bref pour l'instant c'est Recaptcha , non personnalisable, et ce jusqu'à nouvel ordre.
Pour ma part, jamais de spam avec ce système quand je l'utilise.
03/05/2012, 08:56:47
Jean le Chauve a écrit :J'utilise un champ hidden et s'il se rempli, ça ne valide pas. Depuis, jamais de spam.Bonjour Jean le Chauve, J'ai une petite question, comment fais tu pour vérifier que ce champ caché reste vide ?
Grand merci
OUPS excusez moi je n'ai pas vu la deuxieme page. Question sans fondement donc.
Merci
10/05/2012, 23:25:25
ça marche impec au fait
11/03/2013, 14:29:27
J'ai un souci avec cet UDT : si je l'appelle pendant la validation du formulaire, les autres vérifications (style le champ email est bien renseigné avec un email, les champs obligatoires ne sont pas vides) ne fonctionnent plus, et donc un mail peut partir sans adresse email valide, sans nom, sans texte, etc. J'ai loupé un truc ?
14/03/2013, 21:05:34
Effectivement !
Je ne sais pas si c'est dû aux nouvelles versions ou si ce problème apparaissait à l'époque du post.
Pour moi, c'est un bug ou alors :
return array(false);
}
else return array(true);
n'est plus accepté.
Autre solution :
1° Ajouter un champ ligne de texte simple (nom : email2) et tu choisis "validation du champs : ne pas valider l'expression régulière" + une classe hidden (css : form.hidden {display:none;})
2° Dans les options avancées du champ, Validation Regex : tu entresC'est tout ; si un robot (ou même un humain) essaye de remplir ce champ, l'erreur "Veuillez entrer une valeur correcte pour "mail2" apparaîtra et le formulaire ne sera pas validé (pas évident de comprendre que le champ doit rester vide)
Je ne sais pas si c'est dû aux nouvelles versions ou si ce problème apparaissait à l'époque du post.
Pour moi, c'est un bug ou alors :
return array(false);
}
else return array(true);
n'est plus accepté.
Autre solution :
1° Ajouter un champ ligne de texte simple (nom : email2) et tu choisis "validation du champs : ne pas valider l'expression régulière" + une classe hidden (css : form.hidden {display:none;})
2° Dans les options avancées du champ, Validation Regex : tu entres
Code :
/[a-zA-Z0-9]/
15/03/2013, 12:00:40
J'ai l'impression que c'est apparu récemment, à l'époque j'avais fait les tests qui vont bien, et ça ne se passait pas.
Merci pour ta nouvelle solution !
Je vais tester ça.
Merci pour ta nouvelle solution !
Je vais tester ça.
16/03/2013, 14:16:17
Bonjour
Pour utiliser l'UDT et concerver le processus de validation :
il y a un petit bug à corriger
http://dev.cmsmadesimple.org/bug/view/8691
il faut sortir une condition d'une boucle
pour ceux qui auraient du mal à le faire
modules/FormBuilder/classes/Form.class.php
il faut ajouter une accolade fermante à Ligne 548 avant la condition :comme ceci
et il faut enlever (ou commenter) une accolade fermante à la ligne 581
La solution de Jean le Chauve (post #27) foncionne alors sans les problème indiquer par Ouik (post #32)
Pour utiliser l'UDT et concerver le processus de validation :
il y a un petit bug à corriger
http://dev.cmsmadesimple.org/bug/view/8691
il faut sortir une condition d'une boucle
pour ceux qui auraient du mal à le faire
modules/FormBuilder/classes/Form.class.php
il faut ajouter une accolade fermante à Ligne 548 avant la condition :comme ceci
Code :
}
if( $validated == true && !empty($udt) && "-1" != $udt )
et il faut enlever (ou commenter) une accolade fermante à la ligne 581
Code :
//}
return array($validated, $message);
La solution de Jean le Chauve (post #27) foncionne alors sans les problème indiquer par Ouik (post #32)
17/03/2013, 06:42:59
Merci beaucoup de ton retour, Phil
18/03/2013, 09:56:52
Ah oui, merci !
Je n'avais pas eu le temps ni le courage de vérifier les bugs de FormBuilder.
Je n'avais pas eu le temps ni le courage de vérifier les bugs de FormBuilder.
Pages : 1 2