Comment rendre une case à cocher qui est cochée par défaut avec symfony2 Form Builder?
Je n'ai pas trouvé un moyen facile de réaliser simplement cocher une Case à cocher par défaut. Qui ne peut pas être si difficile que ça, donc ce qui me manque?
source d'informationauteur madc
Vous devez vous connecter pour publier un commentaire.
Il vous suffit de définir la valeur de votre modèle ou d'une entité de vrai et de le passer à la FormBuilder, alors il doit être vérifié.
Si vous avez un coup d'oeil à la première exemple dans le la documentation:
Une nouvelle tâche est créée, puis setTask est exécutée et que cette tâche est ajoutée à la FormBuilder. Si vous faites la même chose avec votre case
et de passer de l'objet, vous devriez voir la case cochée.
Si ça ne fonctionne pas comme prévu, s'il vous plaît revenir avec des exemples de code de reproduire l'erreur.
Vous pouvez aussi régler la attr attribut dans le générateur de formulaire méthode buildForm:
Dans Symfony >= 2.3 "property_path" est devenu "mappé".
Donc:
Réglage de la
'data'
option fonctionne pour moi. Je suis de la création d'une entité non en fonction de la forme:Dans TWIG
Si vous souhaitez faire cela dans le modèle directement:
Utiliser le FormBuilder::setData() méthode :
"property_path" faux parce que c'est une non-entité champ (Sinon, vous devez définir la valeur par défaut à true à l'aide de votre entité setter).
Case sera cochée par défaut.
Cela fonctionne aussi bien, mais conscient de la persistance de "checked" état
Vous devez apporter des modifications à l'objet temporaire où l'entité est stocké avant de l'afficher sur le formulaire. Quelque chose comme suivant:
Selon les documents:
http://symfony.com/doc/current/reference/forms/types/checkbox.html#value
De faire une case à cocher ou un bouton radio coché par défaut, utilisez l'option data.
supposons que vous disposez d'une entité ( Utilisateur ) et il a un membre nommé est actif, Vous pouvez définir la case à cochée par défaut par la mise en place est actif à true:
Pour compléter un réponse précédenteavec un plusieurs vous pouvez faire pour vérifier tous les choix :
https://symfony.com/doc/3.3/reference/forms/types/choice.html#choice-attr