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

FAQ Zend Framework

FAQ Zend FrameworkConsultez toutes les FAQ

Nombre d'auteurs : 16, nombre de questions : 39, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireZend_Form

Les champs input générés par Zend_Form_Element_Text ou Zend_Form_Element_Submit n'ont pas de balise fermante.

Pour y remédier, il faut mettre ce code dans le bootstrap :

 
Sélectionnez
// setup view
$view = new Zend_View();
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
        $viewRenderer->view->doctype('XHTML1_TRANSITIONAL');
Créé le 4 avril 2008  par stalak

Il est conseillé d'utiliser Zend_Translate.

Pour un site unilingue, le plus simple est d'étendre Zend_Form avec une classe contenant les traductions de messages. Exemple fonctionnel avec des traductions perso des principaux messages :

 
Sélectionnez
class My_Form extends Zend_Form
{
    /**
    * construction du formulaire
    *
    * @param  mixed $options
    * @return void
    */
    public function __construct($options = null)
    {
        parent::__construct($options);
 
        // traduction des messages d'erreur de validation
        $french = array(
                'notAlnum' => "'%value%' ne contient pas que des lettres et/ou des chiffres.",
                'notAlpha' => "'%value%' ne contient pas que des lettres.",
                'notBetween' => "'%value%' n'est pas compris entre %min% et %max% inclus.",
                'notBetweenStrict' => "'%value%' n'est pas compris entre %min% et %max% exclus.",
                'dateNotYYYY-MM-DD'=> "'%value%' n'est pas une date au format AAAA-MM-JJ (exemple : 2000-12-31).",
                'dateInvalid' => "'%value%' n'est pas une date valide.",
                'dateFalseFormat' => "'%value%' n'est pas une date valide au format JJ/MM/AAAA (exemple : 31/12/2000).",
                'notDigits' => "'%value%' ne contient pas que des chiffres.",
                'emailAddressInvalid' => "'%value%' n'est pas une adresse mail valide selon le format adresse@domaine.",
                'emailAddressInvalidHostname' => "'%hostname%' n'est pas un domaine valide pour l'adresse mail '%value%'.",
                'emailAddressInvalidMxRecord' => "'%hostname%' n'accepte pas l'adresse mail '%value%'.",
                'emailAddressDotAtom' => "'%localPart%' ne respecte pas le format dot-atom.",
                'emailAddressQuotedString' => "'%localPart%' ne respecte pas le format quoted-string.",
                'emailAddressInvalidLocalPart' => "'%localPart%' n'est pas une adresse individuelle valide.",
                'notFloat' => "'%value%' n'est pas un nombre décimal.",
                'notGreaterThan' => "'%value%' n'est pas strictement supérieur à '%min%'.",
                'notInt'=> "'%value%' n'est pas un nombre entier.",
                'notLessThan' => "'%value%' n'est pas strictement inférieur à '%max%'.",
                'isEmpty' => "Ce champ est vide : vous devez le compléter.",
                'stringEmpty' => "Ce champ est vide : vous devez le compléter.",
                'regexNotMatch' => "'%value%' ne respecte pas le format '%pattern%'.",
                'stringLengthTooShort' => "'%value%' fait moins de %min% caractères.",
                'stringLengthTooLong' => "'%value%' fait plus de %max% caractères."
        );
 
        $translate = new Zend_Translate('array', $french, 'fr');
        $this->setTranslator($translate);
    }
        }
Créé le 12 juillet 2008  par vg33

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.