validation du formulaire d'inscription de fosuserbundle

J'utilise FOSUserBundle. Dans mon projet, j'ai créé mon propre UserBundle et emportait le contrôleur, les formes et les gestionnaires. Maintenant, quand un utilisateur essaie de s'inscrire avec un email existant, le site se bloque (email est unique pour la doctrine). Il semble qu'il n'y ait aucune validation faite. Je pensais qu'il y aurait un peu de validation comme je l'ai fait dans ma validation.yml:

YOPUserBundleEntityUser:
  constraints:
    - SymfonyBridgeDoctrineValidatorConstraintsUniqueEntity: email
  properties:
    email:
      - Email: ~

comment se fait-il que la validation ne soit pas faite sur le champ email? Comment puis-je m'assurer que ma les contraintes de validation sont pris en compte?

PS: la validation.fichier yml n'est pas dans mon UserBundle, est-ce un problème?

EDIT:

le code de mon UserBundle est disponible ici Je ne comprends pas pourquoi il n'y a plus de validation...

1
demandé sur fkoessler 2012-09-05 11:16:17

2 réponses

a résolu le problème par:

  • ayant la validation.fichier yml dans le même paquet que celui contenant mon entité utilisateur, et pointant vers mon entité utilisateur
  • ajout du groupe de validation "enregistrement" à mes champs

de validation.yml:

YOP\YourOwnPoetBundle\Entity\User:
  constraints:
    - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: email
  properties:
    email:
      - Email: { groups: [Registration] }
    plainPassword:
      - MinLength: { limit: 5, message: "Your password must have at least {{ limit }} characters" }
    name:
      - NotBlank: { groups: [Registration] }
    familyName:
      - NotBlank: { groups: [Registration] }
    sex:
      - Choice: { choices: [1, 2], groups: [Registration] }
    birthdate:
      - NotNull: { groups: [Registration] }
    city:
      - NotBlank: { groups: [Registration] }
    howDidYouHear:
      - Choice: { choices: [1, 2, 3, 4, 5, 6, 7, 8], groups: [Registration] }
6
répondu fkoessler 2012-11-24 03:32:20

validation.yml devrait être dans votre paquet d'utilisateurs.

/app/config/config.yml doit être mis à jour comme suit:

validation:      { enabled: true,  enable_annotations: false }
-1
répondu poojitha 2012-09-05 09:40:29