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

Symfony PHP Discussion :

FOSuserbundle - surcharger annotations


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    Points : 69
    Points
    69
    Par défaut FOSuserbundle - surcharger annotations
    Bonjour à tous,

    Je souhaiterais connaître le meilleure moyen pour ajouter des annotations sur la class user du bundle FOSuserBundle:

    En bref, je souhaiterais ajouter une contrainte @Assert\NotBlank sur le champs email de l'entité User.

    J'arrive à surcharger des annotations comme cela pour ajouter "nullable" par exemple
    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
    18
    19
    20
    21
    22
    23
     
    /**  
    * @ORM\Entity  
    * @ORM\Table(name="fos_users")  
    * @ORM\AttributeOverrides({  
    *      @ORM\AttributeOverride(name="email",  
    *          column=@ORM\Column(  
    *              name     = "email",  
    *              type     = "string",  
    *              length   = 255,  
    *              nullable = true  
    *          )  
    *      ),  
    *      @ORM\AttributeOverride(name="emailCanonical",  
    *          column=@ORM\Column(  
    *              name     = "emailCanonical",  
    *              type     = "string",  
    *              length   = 255,  
    *              nullable = true  
    *          )  
    *      ),  
    * })  
    */class User extends BaseUser { }
    Mais pour les contrainte je sais pas comment faire:
    - réécrire le champs $email dans la classe fille?
    - oublier l'héritage et copier coller l'entité user?

    D'avance, merci beaucoup pour votre aide.
    Très bonne journée à tous.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    Quelques pistes:

    - redéfinir le fichier validation.xml dans ton bundle héritant de FOSUserBundle
    https://github.com/FriendsOfSymfony/...dation/orm.xml

    - utiliser une contrainte de type Callback
    http://symfony.com/fr/doc/current/re.../Callback.html

    - mettre l'annotation sur la méthode getEmail + tôt que sur l'attribut
    http://symfony.com/doc/current/book/validation.html
    Protected and private properties can also be validated, as well as "getter" methods (see Constraint Targets).

    NB: la validation du FOSUserBundle utilise les validation_groups
    http://symfony.com/doc/current/book/...idation-groups

    NB2: ce n'est pas trés cohérent d'avoir un champ nullable en BDD et une contrainte NotNull !

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/04/2013, 22h51
  2. [2.x] [SonataUser / FosUserBundler] Surcharge du controller
    Par Y-Note dans le forum Symfony
    Réponses: 1
    Dernier message: 04/03/2013, 13h41
  3. [2.x] [FOSUserBundle]Surcharge du formulaire d'inscription
    Par magicbisous-nours dans le forum Symfony
    Réponses: 12
    Dernier message: 03/07/2012, 09h18
  4. [2.x] FOSUserBundle - surcharger l'action login_check
    Par tom42 dans le forum Symfony
    Réponses: 1
    Dernier message: 27/02/2012, 11h55
  5. [2.x] FOSUserBundle + surcharger validation.xml
    Par khand dans le forum Symfony
    Réponses: 0
    Dernier message: 20/10/2011, 10h20

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