|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 13 ![]() |
Bonjour,
j'ai un sérieux soucis avec zend. En fait j'ai une série de validators dans un zend_filter_input, et lorsque je saisie le caractère "#" dans l'un des champs à valider, le zend validate stop sont analyse sur le champs en question et ne traite pas les autres. C'est bizarre, non? je ne parviens pas à trouver la solution à mon problème. Peut être dois je gérer cela avec un filtre regex? merci d'avance pour celui qui aura la patience de me répondre. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Développeur Web Inscription : mai 2008 Messages : 185 ![]() |
Bonjour @_@
Tu utilise quoi comme types de filtres pour tes validateurs ? Alpha ou Alnum non ? vu que ceux si n'autorisent que A-Z, a-z ( et 0-9 pour Alnum ) Le plus simple que j'ai jusque la si tu veux accepter des caractères spéciaux c'est bien la Regex oui, sinon :/ Mais, ton validateur te renvoie des erreurs au moins ? ( avec getMessages() sur ton validateur ) parce qu'il est sensé tout valider et renvoyer toutes les erreurs, du moins je crois @_@ peut être pas si ta valeur est required :/ J'espère t'avoir répondu comme tu voulais Bonne chance |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 13 ![]() |
Bonjour,
merci de te pencher sur mon problème. en fait le validateur est un NotEmpy tout simple. Il y en a plusieurs à la suite, mais quand je rentre un "#" dans l'un des champs, le contrôleur s'arrête à ce champs et n'envoie aucun message d'erreur. c'est fort dans le bizarre, et impossible de trouver quelqu'un qui a le même bug. a+ |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Développeur Web Inscription : mai 2008 Messages : 185 ![]() |
Bonjour encore
Code :
Tu devrais essayer de mettre à jour ZF, des fois que, mais sinon, je vois pas trop de quoi viens ton problème, essaye peut être un try catch autour de ton isValid, j'y crois pas mais bon Sinon bah Regex :/ Bonne chance |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 13 ![]() |
ok ça te renvoie un array vide car le validator est seul. dans le cas d'un zend_filter_input avec une série de validator, zend framework arrete sont analyse au champs +1. il ne poursuit pas l'analyse des champs suivants. mon problème vient de là. pour l'instant j'empêche la saisie du caractère "#" par une instruction javascript. c'est un moindre mal. mais il va falloir que je trouve une solution. merci pour ton aide.
|
|
|
00
|
|
|
#6 | |
|
Membre confirmé
![]() Développeur Web Inscription : mai 2008 Messages : 185 ![]() |
Citation:
Sinon, dans ta DB, tu veux autoriser les # ? j'ai peut être une idée ( un peu conne mais bon ) le # est parfois utilisé comme limiteur de regex ... donc si il trouve un problème de ce genre la, la regex est incorrecte, et le validator renvoie une erreur :/ Donc, sinon, si tu veux vraiment autoriser les # dans ta valeur stockée, mais qu'il veux pas te les valider, tu fais ta validation sur un autre tableau que le vrai ^^ (en faite, tu crée une copie de ton tableau, dans laquelle tu vire tous les caractères spéciaux qui font planter Zend ( array_walk sur une fonction qui fais un str_replace par exemple, de # par un espace, ou n'importe quoi ( sauf du vide ) ) ), ensuite, tu valide ton tableau modifié, et tu réutilise ton tableau de base pour insérer les données et puis voila :p Parce que on, quand même, le JS .. c'est bien, mais niveau sécurité, en 5 clics maxi ton script vaut plus rien :/ Bonne chance |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com