Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-07-2011 11:35:31

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

[Résolu]Formulaire et Ajout de ressource

Bonjour à tous,

Je suis face à un petit probleme au niveau de l'ajout de ressources (dans le cas présent je souhaite ajouter des validateurs) d'après la doc (http://framework.zend.com/manual/fr/zen … ource.html) il suffit de faire :

Code:

[lang=php]
    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
        'basePath'  => 'path/to/some/directory',
        'namespace' => 'My',
    ));

    $resourceLoader->addResourceType('acl', 'acls/', 'Acl')
                   ->addResourceType('form', 'forms/', 'Form')
                   ->addResourceType('model', 'models/');

Dans mon boostrap je fais ceci :

Code:

[lang=php]
    protected function _initAutoloadRessource()
    {
        $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
            'basePath'  => BASE_PATH . '/../Yu',
            'namespace' => 'Yu',
        ));
        
        $resourceLoader->addResourceType('validator', 'Validate/', 'Validate');
        
        //Zend_Debug::dump($resourceLoader);
    }

Mais ça ne donne rien, quand j'ajoute un validateur à un validateur j'obtiens l'erreur suivante :

Message: Plugin by name 'Uri' was not found in the registry; used paths: Zend_Validate_: Zend/Validate/

Dernière modification par shadypierre (22-07-2011 21:53:35)

Hors ligne

 

#2 12-07-2011 13:28:10

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu]Formulaire et Ajout de ressource

Bonjour,

Pourrais-tu poster le code où tu appelles ton validateur, ainsi que le code de ton validateur pour qu'on puisse avoir une vue plus globale sur la levée d'exception ?

Hors ligne

 

#3 12-07-2011 13:39:57

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Résolu]Formulaire et Ajout de ressource

Oui pas de probleme, donc dans un formulaire je fais ceci :

Code:

[lang=php]
        $title = $this->createElement('Text', 'title', array(
            'label'    => 'Titre',
            'required' => true,
            'validators' => array('Uri')
        ));

Et mon validateur importe peu pour le moment puisqu'il n'ai meme pas trouvé. Sinon il s'agit du validateur suivant

Code:

[lang=php]
<?php
class Yu_Validate_Uri extends Zend_Validate_Abstract
{
    const BAD_URI = 'badUri';

    protected $_messageTemplates = array(
        self::BAD_URI => "'%value%' n'est pas une URI valide"
    );

    public function isValid($value)
    {
        $this->_setValue($value);

        if (!Zend_Uri::check($value)) {
            $this->_error(self::BAD_URI);
            return false;
        }

        return true;
    }
}
?>

code dispo ici : http://wiip.fr/content/zend-framework-v … ur-une-url

Dernière modification par shadypierre (12-07-2011 13:40:12)

Hors ligne

 

#4 13-07-2011 20:48:34

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Résolu]Formulaire et Ajout de ressource

Personne n'ajoute ces propres ressources O_o ?

Hors ligne

 

#5 14-07-2011 09:03:36

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu]Formulaire et Ajout de ressource

Désolé pour le temps de réponse !

Si je prends un projet où je charge des ressources, la grosse modification que j'apporte se trouve au niveau du application.ini :

Code:

autoloaderNamespaces[] = "Application_"

Bien entendu dans ce cas là mes fichiers sont ajoutés dans /library/Application (en suivant la structure définie par Zend_Tools lors de la création d'un projet).

Ensuite, je n'ajoute pas pour ma part de ressource loader, par contre j'instancie explicitement mon validateur :

Code:

[lang=php]$resourceLoader->addResourceType('validator', 'Validate/', 'Validate');

Code:

[lang=php]
$validator = new Yu_Validate_Uri();
$title = $this->createElement('Text', 'title', array(
    'label'    => 'Titre',
    'required' => true,
    'validators' => array($validator)
));

Hors ligne

 

#6 14-07-2011 14:59:00

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Résolu]Formulaire et Ajout de ressource

Merci pour ta réponse.Quand j'instancie mon validateur explicitement il n'y a pas de probleme tout fonctionne mais je voulais justement ne pas avoir à l'instancier sad

Si quelqu'un à une idée, sinon tant pis j'instancierais mes ressources à chaque fois hmm

Hors ligne

 

#7 22-07-2011 21:53:06

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Résolu]Formulaire et Ajout de ressource

C'est bon j'ai trouvé je n'avais pas bien réfléchi en faite. Donc pour ceux que ça intéresse pour ajouter un chemin de validateur, filtre, element, etc, il faut étendre la classe Zend_Form (ex : My_Form extends Zend_Form), personnellement c'était déjà le cas, puis dans la fonction de construction :

Code:

[lang=php]
$this->addPrefixPath('Yu_Form_Decorator', 'Yu/Form/Decorator/', 'decorator');
$this->addPrefixPath('Yu_Form_Element', 'Yu/Form/Element/', 'element');
$this->addElementPrefixPath('Yu_Validate', 'Yu/Validate/', 'validate');

parent::__construct($options = null);

Voila, maintenant plus de probleme big_smile

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