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

Doctrine2 PHP Discussion :

Symfony Validator sans Symfony


Sujet :

Doctrine2 PHP

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Par défaut Symfony Validator sans Symfony
    salut,

    voici un exemple de code tout simple que j'utilise pour rajouter des contraintes sur certaines données membres de mes entités :

    ici on dit qu'on veut pas que le mot de passe soit vide :

    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
     
     
    use Doctrine\ORM\Mapping AS ORM;
    use Symfony\Component\Validator\Constraints AS Assert;
     
    /**
     * @ORM\Entity
     **/
    class User{
     
        /** 
         * @ORM\Column(name="password", type="string", length=255, nullable=false)
         * @Assert\NotBlank()
         **/
        protected $password;
     
    }
    A priori, d'après ce que j'ai pu comprendre, ces contraintes servent à valider des entités manuellement dans la partie controlleur.

    Ce que moi je souhaiterais faire, c'est qu'une exception soit automatiquement lancée lors de l'appel à la méthode EntityManager::persist() ou EntityManager::flush() si le mot de passe est vide.

    Cela vous paraît-il envisageable et si oui pourriez-vous me donner quelques pistes? je suis un peu perdu sur la façon de procéder.

    merci

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Par défaut
    Pour ceux que ça intéresse, quelqu'un a fait la même chose pour intégrer le Validator de Symfony 2 dans Zend Framework ici

    Visiblement, il dérive toutes ses entités d'une même classe de façon à valider automatiquement ses entités juste avant leur sauvegarde en base de données :
    d) Add validation code which needed a validate() method in the base class from which all entities are derived, which requires @ORM\HasLifecycleCallbacks (so that the model can hook into the lifecyle call back models) @ORMPrePersist and @ORM\PreUpdate for the validate method to ensure its called before the models are saved (first time) or updated.
    Cela me paraît un peu contraignant mais je n'ai pas de meilleure idée pour l'instant.

    Par contre, si par exemple je rajoute la contrainte @Email dans une entitié,
    je reçois une erreur me disant que /usr/share/php/Doctrine/Symfony/Component/Validator/Constraints/Email.php n'existe pas
    alors que ça devrait être /usr/share/php/Symfony/Component/Validator/Constraints/Email.php

    Voici ma config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    \Doctrine\Common\Annotations\AnnotationRegistry::registerAutoloadNamespace('Symfony\Component\Validator\Constraints', LIB_PATH); //LIB_PATH = /usr/share/php
    $reader = new \Doctrine\Common\Annotations\AnnotationReader();
    $indexedReader = new \Doctrine\Common\Annotations\IndexedReader($reader), new DoctrineArrayCache();
    $reader = new \Doctrine\Common\Annotations\CachedReader( $indexedReader  );
    $config->setMetadataDriverImpl(  new Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, ENTITY_PATH));

Discussions similaires

  1. [2.x] appli symfony2 sans symfony c'est possible ?
    Par cmoicmoi dans le forum Symfony
    Réponses: 7
    Dernier message: 10/02/2015, 15h31
  2. [2.x] validation formulaire symfony 2 avec jquery ?
    Par echef dans le forum Symfony
    Réponses: 3
    Dernier message: 18/02/2013, 14h59
  3. [1.x] Twig sans Symfony et page d'erreur (404)
    Par lapaupiette dans le forum Symfony
    Réponses: 2
    Dernier message: 23/12/2011, 11h19
  4. [2.x] Comment utiliser un bundle sans Symfony
    Par khand dans le forum Symfony
    Réponses: 4
    Dernier message: 23/09/2011, 14h42
  5. [1.x] Validator Formulaire Symfony
    Par smusta dans le forum Symfony
    Réponses: 2
    Dernier message: 21/04/2009, 20h31

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