symfony2 isvalid form createformbuilder createform php symfony

php - isvalid - symfony form validation



Cómo agregar campos adicionales sin entidad al formulario de entidad en Symfony2 (2)

Creé un formulario con un elemento de Entity:

$promo = new Promo(); $form = $this->createFormBuilder($promo) ->add(''code'', ''text'') ->getForm();

Y quiero agregar un elemento de archivo (este campo no existe en la Entidad). Cuando lo hago:

$form = $this->createFormBuilder($promo) ->add(''code'', ''text'') ->add(''image'', ''file'') ->getForm();

Tengo un error: Ni la "imagen" de la propiedad ni el método "getImage ()". ¿Cómo puedo agregar este campo?


En Symfony 2.0, use property_path :

$form = $this->createFormBuilder($promo) ->add(''code'', ''text'') ->add(''image'', ''file'', array( "property_path" => false, )) ->getForm();

En Symfony 2.1+, use mapped :

$form = $this->createFormBuilder($promo) ->add(''code'', ''text'') ->add(''image'', ''file'', array( "mapped" => false, )) ->getForm();

La primera opción todavía está disponible en 2.1, pero está en desuso y se eliminará en 2.3


Use la opción property_path :

$builder->add(''image'', ''file'', [ ''property_path'' => false, ]);