Bonjour tous le monde,
j'ai beau chercher, je ne trouve pas comment rendre l'email non obligatoire.
Quelqu'un a une solution ?
Merci d'avance pour l'aide.
Cordialement.
Dans le dossier : vendor\friendsofsymfony\user-bundle\Command, fichier CreateUserCommand.php
Remplace new InputArgument('email', InputArgument::REQUIRED, 'The email') par
new InputArgument('email', InputArgument::VALUE_NONE, 'The email'),
Je n'ai pas testé mais ça devrait fonctionner, au niveau de la bdd, rend le champs nullable
Cela ne fonctionne pas
PHP Fatal error: Undefined class constant 'VALUE_NONE' in /Users/deshiloh/Sites/lacapa/vendor/friendsofsymfony/user-bundle/Command/CreateUserCommand.php on line 38
et avec InputArgument::OPTIONAL
PHP Fatal error: Uncaught exception 'Symfony\Component\Console\Exception\LogicException' with message 'Cannot add a required argument after an optional one.'
En plus je viens de voir qu'il s'agit de la partie pour créer un utilisateur en ligne de commande, ce n'est pas ce que je cherche à faire.
L'email est obligatoire avec FOS car tu l'utilises pour la connexion de l'utilisateur a moins que tu te sers d'un autre champ pour log l'utilisateur ?
Dans ce cas, dans ton fichier security.yml il faut changer la manière de se log
providers:
fos_userbundle:
id: fos_user.user_provider.email
Ca c'est normalement ton code, il faut le remplacer par ton autre champ le username par exemple :
providers:
fos_userbundle:
id: fos_user.user_provider.username
Si ce n'est toujours pas bon, vérifie si tu as bien overide ton formulaire de création user FOS et si tu ne l'as pas fait, réécrit le et veille à désactiver le champ
'required' => true
de ton adresse mail.
Maxime