validation contrainte userBundle
Bonjour, je voudrais pouvoir afficher mes erreurs de validation de mon entité User qui bien sur hérite du bundle FosUserBundle
Je redéfinie mon Controleur RegistrationControler ne ajoutant à l'action RegisterAction ces quelque ligne ci-dessous:
Code:
1 2 3 4 5 6
|
$validator = $this->container->get('validator');
$errors = $validator->validate($user);
var_dump($errors); |
Mon var_dump revoie ceci, c'est a dire vide:
Code:
1 2 3 4
| object(Symfony\Component\Validator\ConstraintViolationList)[540]
private 'violations' =>
array (size=0)
empty |
Mais aucune erreur de validation n'apparaissent, je dois supprimer la balise option donc ce qui concerne la validation group afin d'avoir au moins l'erreur de l'username si celui-ci n'est pas renseigner lors de la saisie:
Code:
1 2 3 4
| <option name="groups">
<value>Registration</value>
<value>Profile</value>
</option> |
Code:
1 2 3 4 5 6 7 8 9
|
<property name="username">
<constraint name="NotBlank">
<option name="message">fos_user.username.blank</option>
<option name="groups">
<value>Registration</value>
<value>Profile</value>
</option>
</constraint> |
Et maintenant mon var_dump renvoie bien une violation:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| object(Symfony\Component\Validator\ConstraintViolationList)[893]
private 'violations' =>
array (size=1)
0 =>
object(Symfony\Component\Validator\ConstraintViolation)[1024]
private 'message' => string 'Entrez un nom d'utilisateur s'il vous plait' (length=43)
private 'messageTemplate' => string 'fos_user.username.blank' (length=23)
private 'messageParameters' =>
array (size=0)
...
private 'messagePluralization' => null
private 'root' =>
object(Backend\UserBundle\Entity\User)[1597]
...
private 'propertyPath' => string 'username' (length=8)
private 'invalidValue' => null
private 'code' => null |
Pour info les erreurs apparaissent bien au dessus de chaque champ adéquate si j'affiche mon formulaire sous forme de form_row(form.username), mais je veut utilisé les validator pour pouvoir customisé les erreur à ma guise.
De plus les fichiers de validation de FosUserBundle sont toujours a leur place respective dans leur Bundle.
Avez vous une idée les amis pour ceux qui utilisent FosUerBundle en profondeur