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 :

Probléme validator et zend translate


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut Probléme validator et zend translate
    Salut,
    mon probléme c'est que je veut que le message d'erreur affiche dans validateur doit être liée à un fichier tmx.
    NB :1/ j'utilise le validateur sur une zone texte toute en vérifiant le nom saisi si il n'existe déja dans ma base de données
    voici le code de mon validateur :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    	Class CodeValidator  extends Zend_Validate_Abstract {
    		const EXIST = 'exist';
     
    		protected $_messageTemplates = array(self::EXIST => "'%value%' exist déja dans la base de données");
    		protected $_isUpdate;
    		protected $_id;
     
    		public function __construct($cl, $up){
    			$this->_id=$cl;
    			$this->_isUpdate=$up;
    		}
     
    		public function isValid($value){
    			$this->_setValue($value);
     
    			$lg=new NameTable();
    			$langue=$lg->fetchRow("ID='".$value."'");
    			if ($langue)
    				$exist=true;
    			else 
    				$exist=false;
     
    			if ($this->_isUpdate){//ajout
    				if ($exist){
    					$this->_error();
    					return false;
    				}
    			}			
    			return true;
    		}
    }
    alors je veut au lieu d'écrire le message d'erreur comme il est précise dans ce validateur "exit déjà dans la base de données" je veut ecrire :
    echo $this->translator->_(".......");
    NB : l'appelé du fichier TMX est à partir d'un plugin

    si qlq à une proposition
    et merci d'avance

  2. #2
    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
    Simple,

    ton objet translate passe soit par ta vue, soit par ton controller.

    Dans ton cas, tu crées une nouvelle classe qui sera instancié dans un controller.

    Il suffit donc de passer un paramètre lors de l'instanciation et de créer les getters et setters qui vont bien

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Class CodeValidator  extends Zend_Validate_Abstract {
    		const EXIST = 'exist';
     
    		protected $_messageTemplates;
    		protected $_isUpdate;
    		protected $_id;
     
    		public function __construct($cl, $up){
    			$this->_id=$cl;
    			$this->_isUpdate=$up;
    		}
     
    		public function isValid($value){
    			$this->_setValue($value);
     
    			$lg=new NameTable();
    			$langue=$lg->fetchRow("ID='".$value."'");
    			if ($langue)
    				$exist=true;
    			else 
    				$exist=false;
     
    			if ($this->_isUpdate){//ajout
    				if ($exist){
    					$this->_error();
    					return false;
    				}
    			}			
    			return true;
    		}
     
            private function setMessageTemplate($messageTemplates){
     
                $this->_messageTemplates = array(self::EXIST => "'%value%' $messageTemplates");           
            }
    }

Discussions similaires

  1. [W3C] Problème validation w3c avec html/javascript
    Par mademoisellem dans le forum Balisage (X)HTML et validation W3C
    Réponses: 22
    Dernier message: 31/01/2008, 16h19
  2. Problème validation CSS
    Par hartecel dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 07/03/2007, 10h53
  3. [XSD] Problème Validation XML XSD
    Par scelines dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/05/2006, 17h54
  4. [W3C] problème validation W3C d'un site
    Par nicolas77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/04/2006, 14h04
  5. Réponses: 8
    Dernier message: 05/02/2006, 10h39

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