Bonjour,
J'ai pas mal de problème en ce moment pour mettre en place un formulaire tout simple et j'ai donc 3 questions dont je ne trouve pas de réponse sur la doc.
Le formulaire est basé sur un objet et créé avec formbuilder.
1) Je souhaite ajouter une * (ou une icone) à côté d'un champ obligatoire (oui ça parait tout bête :p) : problème, comment savoir qu'un champ est obligatoire ou non ? A part le form_label et form_widget, je ne sais pas comment savoirsi le paramètre required est placé à true/false dans mon formbuilder
1 2 3 4 5 6 7 8 9 10 11 12
|
--Controller
$form = $this->createFormBuilder($user)
->add('email', EmailType::class, array('required' => false))
->add('save', SubmitType::class)
->getForm();
--Vue Twig
<div class="form-group">
{{ form_label(form.email, "Email") }} [ici je veux afficher *]
{{ form_widget(form.email, {'attr': {'class': 'form-control'}}) }}
</div> |
2) Les erreurs ne s'affichent pas. Mon form->isValid retourne false (un champ vide dans le formulaire avec une annotation NotBlank sur l'ORM, donc l'erreur est logique), mais form_errors(form) ou form_errors(form.email) n'affiche rien. Pourtant la barre "profile" affiche bien une erreur dans le formulaire mais lorsque je clique dessus j'ai ce message d'erreur
Neither the property "id" nor one of the methods "id()", "getid()"/"isid()"/"hasid()" or "__call()" exist and have public access in class "Symfony\Component\VarDumper\Cloner\Data".
PS : Même en utilisant {{ form(form) }} qui génère un formulaire complet tout seul, les erreurs ne s'affichent pas.
3) Comment peut-on faire des formulaires complexes ? Le côté "j'ai un utilisateur avec 5 variables donc mon formulaire à 5 champs" ça marche en cas d'école, sur une vrai appli métier, ça n'existe pas ou très peu. Du coup, peut-on utiliser le formbuilder pour afficher et récupérer facilement des information spécifiques qu'on va pouvoir ensuite retravailler et enregistrer en fonction du code de notre appli ?
Merci d'avance pour vos réponses
Partager