I have a form declared in nameType.php
and the view render all field but I want add another field manually.
Form:
<form action="{{ path('create') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<input type="text" value="2">
</form>
And get the values in the controller:
$form->bindRequest($request);
How can I collect the value of the input in the controller?
If you are trying this because the form is linked to your entity field you can add a field to FormType as not mapped. Then you do not need getters and setters on your entity.
To get the data in the controller:
You can not retrieve the
input
value from the$form
, because it's not part of it.You have to retrieve it from the
request
in theController
by using thename
attribute :HTML :
<input type="text" value="2" name"var_name">
Controller:
$request->request->get('var_name')
The instant-gratification way would be to use
for an unmapped field. But I'm sure there are better ways which are Symfony validation-compliant.
After calling
$form->bindRequest($request)
you can call:$form->getData()
to get input from user.But if you want to receive input data for field that is not mapped you need to use mentioned
$request->request->get('field_name')
.