Obtenir la valeur d'un champ non déclaré dans FormType
J'ai un formulaire déclaré dans nameType.php
et de l'avis rendu sur le terrain, mais je veux ajouter un autre champ manuellement.
Forme:
<form action="{{ path('create') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="text" value="2">
</form>
Et obtenir les valeurs dans le contrôleur:
$form->bindRequest($request);
Comment puis-je récupérer la valeur de l'entrée dans le contrôleur?
source d'informationauteur user2740782
Vous devez vous connecter pour publier un commentaire.
Si vous essayez cela, car le formulaire est lié à votre entité champ, vous pouvez ajouter un champ à FormType de ne pas mappé. Ensuite, vous n'avez pas besoin de getters et setters sur votre entité.
Pour obtenir les données dans le contrôleur:
Vous ne pouvez pas récupérer la
input
valeur de la$form
car il n'est pas partie.Vous avez à récupérer à partir de la
request
dans leController
à l'aide de laname
attribut :HTML :
<input type="text" value="2" name"var_name">
Contrôleur:
$request->request->get('var_name')
L'instant satisfaction moyen serait d'utiliser
pour un champ non mappé. Mais je suis sûr qu'il ya de meilleures façons qui sont Symfony validation conforme.
Après l'appel de
$form->bindRequest($request)
vous pouvez appeler le:$form->getData()
pour obtenir une entrée de l'utilisateur.Mais si vous voulez recevoir des données d'entrée pour le champ qui n'est pas mappé, vous devez utiliser mentionné
$request->request->get('field_name')
.