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...
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] }
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 }