Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-09-2014 14:32:47

skurty
Nouveau membre
Date d'inscription: 04-09-2014
Messages: 1

Validation avec NoObjectExists

Bonjour à tous,

j'utilise le module doctrine et j'ai un problème au niveau de la validation avec DoctrineModule\Validator\NoObjectExists.

Voici mon entité :

Code:

<?php
/**
 * @ORM\Entity
 */
class User {

    public function getInputFilter()
    {
        if (!$this->inputFilter) {
            $inputFilter = new InputFilter();
            $factory     = new InputFactory();

            $inputFilter->add($factory->createInput(array(
                'name'     => 'username',
                'required' => true,
                'filters'  => array(
                    array('name' => 'StripTags'),
                    array('name' => 'StringTrim'),
                ),
                'validators' => array(
                    array(
                        'name'    => 'DoctrineModule\Validator\NoObjectExists',
                        'options' => array(
                            'object_repository' => ...,
                            'fields'            => array('username'),
                            'messages'          => array(
                                'objectFound' => 'Cet identifiant est déjà utilisé'
                            )
                        )
                    )
                )
            )));

            $this->inputFilter = $inputFilter;
        }

        return $this->inputFilter;
    }
}

Le problème est que le champ "object_repository" attend un Doctrine\Common\Persistence\ObjectRepository.

Comme $this->getObjectManager() n'est pas accessible dans l'entité, comment dois-je faire pour utiliser ce validateur ?

Autre question à propos de la validation : j'ai plusieurs formulaires pour l'utilisateur (inscription, connexion, mot de passe oublié...). Vaut-il mieux créer une classe Form avec tous les champs et utiliser $form->setValidationGroup() pour les champs concernés où de créer un formulaire pour chaque page ?

Merci pour votre aide

Hors ligne

 

#2 04-09-2014 17:02:29

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Validation avec NoObjectExists

Salut, tu peux utiliser l'interface ObjectManagerAwareInterface ou ObjectManagerProvider (un truc dans le genre) et tu dois créer un initializer pour le FormElementManager qui injectera automatiquement l'ObjectManager dans les classes qui implémentent cette interface smile.

Une petite recherche t'aurais permis de trouver wink : http://www.z-f.fr/forum/viewtopic.php?id=8805

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