Je crée des formulaires avec un champ non mappé comme expliqué dans la documentation du formulaire .
Cependant, quand je suis dans le contrôleur ou similaire, je veux y accéder, actuellement j'utilise le tableau de demande POST et en sortir comme suit:
$postData = $this->getRequest()->request->get('my_form_name');
$unmappedField = $postData['unmapped_field']
Je ne peux pas m'empêcher de penser que ce n'est pas la meilleure façon, et je ne trouve rien sur la documentation officielle.
Y a-t-il une meilleure façon que cela?
Vous pouvez accéder au champ non mappé dans le formulaire
$unmappedField = $form['unmapped_field']->getData();
extrait du doc symfony sf 2.5 (également testé avec sf 2.3):
type de formulaire:
use Symfony\Component\Form\FormBuilderInterface;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('task')
->add('dueDate', null, array('mapped' => false))
->add('save', 'submit');
}
manette:
$form->get('dueDate')->getData();
$form->get('dueDate')->setData(new \DateTime());
http://symfony.com/doc/current/book/forms.html#creating-form-classes (faites défiler un peu vers le bas)