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

Autres composants PHP Discussion :

Zend_validate et messages d'erreurs [ZF 1.8]


Sujet :

Autres composants PHP

  1. #1
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut Zend_validate et messages d'erreurs
    Bonjour,

    je crée mon propre validateur et je voudrais pouvoir créer des messages d'erreurs , mais je n'y arrive pas.

    Pouvez m'indiquer la marche à suivre, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     public function isValid($value) {
            $this->valueString($value);
            $this->valueLenght($this->_string);
     
            if($this->_lenght < 7) {
                $valider = new Zend_Validate_StringLength(1,7);
                if(! $valider->isValid($this->_string)) {
                    $this->setMessages(array(self::TOO_SHORT=>'message'));
                    //$this->_error(self::TOO_SHORT);
                    $this->_error();
                    return false;
                }
            }
            if (count($this->_messages)) {
                return false;
            } else {
                return true;
            }
        }

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Le plus simple est de s'inspirer des exemples de la doc ;-) : http://framework.zend.com/manual/fr/...alidators.html
    • créer une constante correspondant au type d'erreur
    • initialiser le tableau des messages d'erreur $_messageTemplates
    • initialiser le tableau des variables de message $_messageVariables
    • si tu as une erreur dans isValid(), utiliser $this->_error(self::MA_CONSTANTE);



    Si ça ne fonctionne pas, tu peux nous montrer ta classe complète ?

  3. #3
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Oui, ça j'avais vu, mais je voulais passer des messages directement afin d'utiliser un système de translation, je vais voir comment je peux faire.

    Merci de ton aide.

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Oui, ça j'avais vu, mais je voulais passer des messages directement afin d'utiliser un système de translation, je vais voir comment je peux faire.
    Je suppose que tu veux dire un système de traduction ?

    Si oui, alors c'est déjà intégré à Zend_Validate, et géré par Zend_Validate_Abstract... : http://framework.zend.com/manual/fr/...on.translation

    Pour définir l'objet Zend_Translate à utiliser, tu peux soit utiliser la méthode setTranslator(), soit le mettre dans le registre à la clé 'Zend_Translate' (comme pour d'autres composants du ZF).

  5. #5
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    J'ai vraiment besoin d'un outils qui puissent me générer un diagramme de classe.

    J'y suis arrivé en faisant ceci.

    dans mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $this->_translate = new Zend_Translate('tmx','../library/My/lan/translation.tmx',My_Session::getData('lan'));
            Zend_Registry::set('Zend_Translate', $this->_translate);
    ensuite dans le constructeur de ma classe validate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        public function __construct($encoding=null) {
            $this->_translate = $this->getDefaultTranslator();
            $this->setEncoding($encoding);
     
        }
    et enfin dans ma méthode error()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->_error($this->_translate->_(self::MSG_MIN));
    voila, merci de ton aide

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

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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