J'ai la classe d'entité suivante dans mon application:
@UniqueEntity("email") @UniqueEntity("username")
4 Réponses :
Essayez d'ajouter à la configuration de votre application p> p>
Le problème a été résolu comme suit:
@UniqueEntity(fields={"email"}, groups={"registration"}) @UniqueEntity(fields={"username"}, groups={"registration"})
Bonjour, Josef, semble un peu une vieille question, mais je reçois le même problème que vous l'aviez - je vous demandais - avez-vous besoin de, je ne sais pas, créer b> que le groupe de validation quelque part? J'ai ajouté le champ d'entité unique exactement comme vous l'avez fait, uniquement sur le courrier électronique et le téléphone portable, mais cela me donne toujours une exception au lieu d'une erreur de validation. Des idées?
@ilikebreakfast Vous devez déclarer le groupe de validation de votre setDefaultOptions code> dans votre
FormType code>
Pourquoi cette solution est-elle différente de ce qui est indiqué sur la documentation? La documentation ne va pas, ou cette implémentation est-elle significativement différente de l'exemple de la documentation? Symfony. COM / DOC / 2.3 / Référence / Contraintes / Uniqueti Ty.HTML
Une autre raison de ce problème est que si vous utilisez des collections de formulaire et que vous incluez une sous-formulaire qui gère une entité associée, vous devez définir Voir l'indice dans le Documentation Symfony : p> Pour activer la validation sur catégorieType, ajoutez l'option update: strong> p> Pour que vos entités enfants soient validées, il y a même une meilleure façon. Symfony fournit la contrainte code> valide code> pour exactement cette raison. De Documentation : P> cascade_validation code> sur
vrai code> dans le Racine et toutes les sous-formes.
cascade_validation code> à
TaskType code>: p>
blockQuote>
Cette contrainte est utilisée pour activer la validation sur des objets incorporés comme des propriétés sur un objet validé. Cela vous permet de valider un objet et tous les sous-objets associés à celui-ci. p>
blockQuote> p>
Veuillez noter Ignorenull
par exemple pour fonctionner correctement avec PID (peut être null): P>
constraints: - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: fields: [page, pid, position] errorPath: page groups: [Menu] message: "Page already exists with that parent" ignoreNull: false
C'était la réponse de mon problème. Merci!