IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Validateur Zend [ZF 1.10]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 61
    Par défaut Validateur Zend
    Bonjour,
    Au début, je ne savais pas d'où venait l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: htmlspecialchars() expects parameter 1 to be string, object given in /var/wwwinclude/Zend/View/Abstract.php on line 897
    Cependant, après quelques recherches il s'avérerait que le problème viendrait du validateur Zend_Validate_EmailAddress.
    Avez-vous une idée pour résoudre ce problème ?
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    Attends que je regarde dans ma boule de cristal ....

    Nan sérieux sans le code concerné comment veux-tu qu'on t'aide ?

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Citation Envoyé par Feng-Huang Voir le message
    Attends que je regarde dans ma boule de cristal ....

    Nan sérieux sans le code concerné comment veux-tu qu'on t'aide ?


    Plus sérieusement, le validateur Zend fonctionne très bien.

    C'est juste que dans ta vue ou un autre endroit quelconque, tu dois faire un htmlspecialchars ou un $this->escape d'un object.


    Cordialiement,
    Patouche

    Je penche par ailleurs pour le $this->escape( new Zend_Validate_EmailAddress($_REQUEST['mail']) )

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 61
    Par défaut
    Pour ceux qui n'ont pas acheté de boule de cristal (perso je ne pensais pas que ça aurait aidé dans ce cas précis mais bon ^^) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $this->addElement('text', 'email', array(
                'label'      => $translate->_('E-mail').' :',
                'required'   => true,
                'filters'    => $filters,
                'validator' => new Zend_Validate_EmailAddress(),
                'decorators' => $this->elementDecorators,
                'description' => 'Require a valid email address.'
            ));
    Ce code se trouve dans Register.php contenant une classe qui étend Zend_Form. Le contrôleur qui fait appel à cette classe est UsersController.php contenant effectivement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->view->setEscape('utf8_encode');
    mais dans la méthode indexAction et non celle qui appelle mon formulaire qui elle s'appelle, logiquement, registerAction.

    En espérant que ça éclaircisse un peu les idées...

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    et comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $this->addElement('text', 'email', array(
                'label'      => $translate->_('E-mail').' :',
                'required'   => true,
                'filters'    => $filters,
                 'validators' => array(array('EmailAddress')),
                'decorators' => $this->elementDecorators,
                'description' => 'Require a valid email address.'
            ));

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    J'avoue que cette syntaxe ne me serais pas venu naturellement. Mais si je ne m'abuse, c'est un passage par la factory qui se trouve dans Zend_Validate (méthode is).

    En tout cas, mysth, bon courage avec ta superbe machine de guerre .


    Cordialement,
    Patouche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/11/2006, 08h10
  2. installation zend ( double instance )
    Par ska_root dans le forum Apache
    Réponses: 1
    Dernier message: 02/10/2005, 14h28
  3. [ZEND] _Zend_Hash_init est introuvable
    Par christophebmx dans le forum Zend
    Réponses: 1
    Dernier message: 23/09/2005, 16h06
  4. Validateur locale
    Par byekler dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/05/2005, 07h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo