Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-07-2007 15:24:03

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

[Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Bonjour,

Je suis en train de me mettre au package Zend_Filter_Input dans la dernière version Stable. J'essaye de tester un champ titre d'un formulaire. Lorsque celui-ci est vide j'ai bien un message d'erreur mais c'est le message par défaut.

Code:

<?php

...

require_once 'Zend/Filter/Input.php';
require_once 'Zend/Filter/StringTrim.php';
require_once 'Zend/Validate/Alnum.php';
            
$filters = array(
    'titre' => 'StringTrim'
);
            
$validators = array(
    'titre' => array(
        'alpha',
        'presence' => 'required'
    )
);
            
$options = array(
    'missingMessage' => 'Le champ %field% est requis.',
);
        
$data = $_POST;
                
$input = new Zend_Filter_Input($filters, $validators, $data, $options);
            
if ($input->hasInvalid() || $input->hasMissing()) {
    Zend_Debug::dump($input->getMessages());
}

...

?>

Comment connaître la liste des messages possibles ? Et leur code ?

Hors ligne

 

#2 10-07-2007 15:31:17

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Bonjour Rod,

Est-ce les messages suivants que tu vois :

Code:

    protected $_defaults = array(
        self::ALLOW_EMPTY         => false,
        self::BREAK_CHAIN         => false,
        self::ESCAPE_FILTER       => 'HtmlEntities',
        self::MISSING_MESSAGE     => "Field '%field%' is required by rule '%rule%', but the field is missing",
        self::NOT_EMPTY_MESSAGE   => "You must give a non-empty value for field '%field%'",
        self::PRESENCE            => self::PRESENCE_OPTIONAL
    );

on peut les modifier en passant ses propres messages dans le tableau $options quand on instancie le filtre.

fred

Hors ligne

 

#3 10-07-2007 15:42:44

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

J'ai le message suivant :

Code:

'' is an empty string

Hors ligne

 

#4 10-07-2007 15:54:41

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

En fait Zend/Filter/Input.php fait appel aux classes Zend_Validate_* dans lequel on retrouve ce message :

Zend/Validate/Digits.php
Zend/Validate/Alpha.php
Zend/Validate/Alnum.php

On peut les modifier par la méthode setMessage($messageString, $messageKey = null) où $messageKey est par exemple la constante STRING_EMPTY

Dans Zend_Filter_Input, tu peux ajouter des namesspaces. Les deux qui sont systemes sont 'Zend_Filter' et 'Zend_Validate'

Par contre je n'ai pas encore trouvé comment on accède à ces namespaces pour changer les messages par setMessage.

Enfin, c'est peut-être un début de piste....


Fred

Hors ligne

 

#5 10-07-2007 16:18:11

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Merci je vais me pencher dessus

Hors ligne

 

#6 10-07-2007 18:35:04

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Je rencontre le même problème :

J'aimerai traduire une fois pour toute ces fameux messages. Mon but final serait d'éviter qu'à chaque Zend_Filter_Input je redéclare la traduction en passant en options la traduction. Pour cela il faudrait donc créer un Zend_Filter_Input dans l'index et enregistrer sa référence dans le registre ?

Cordialement,
Laurent

Hors ligne

 

#7 11-07-2007 08:48:04

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Bonjour,

Pour le moment je n'ai toujours pas réussi à traduire les messages.

Hors ligne

 

#8 25-07-2007 12:59:57

fred wolf
Administrateur
Lieu: Bordeaux
Date d'inscription: 09-04-2007
Messages: 96

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Salut,

je suis tombé là-dessus :

http://www.nabble.com/Zend_Filter_Input … #a11363331

Je n'ai pas tout lu, mais à la toute fin, le type est content

Fred

Hors ligne

 

#9 17-11-2007 23:10:16

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [Zend_Filter][1.0.0] Modifier les messages de validations par défaut

Bonsoir,
Je n'arrive pas à valider le champ adresse :

Code:

  'address' => array('Alnum', 'messages' => array(
                        Zend_Validate_Alnum::STRING_EMPTY => 'Le champ "Adresse" est vide.',
                    )
                ),

Lorsque je met ca il me met comme erreur :
'1 rue de la ....' has not only alphabetic and digit characters.
Y a t il une possibilité de mettre à true pour qu'il accepte els espace alnum dan sl syntaxe plus haut ,

Sinon comment modifier cette valeur pour presence => required :

Code:

'' is an empty string

D'avance merci


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages