isvalid form php forms symfony doctrine

php - isvalid - Symfony2-Usar el generador de formularios sin ninguna entidad adjunta



symfony form validation (2)

No use formType y no necesita adjuntar una entidad para utilizar Form Builder. Simplemente usa una matriz en su lugar. Probablemente haya pasado por alto esta pequeña sección en la documentación de Symfony: http://symfony.com/doc/current/form/without_class.html

<?php // inside your controller ... $data = array(); $form = $this->createFormBuilder($data) ->add(''query'', ''text'') ->add(''category'', ''choice'', array(''choices'' => array( ''judges'' => ''Judges'', ''interpreters'' => ''Interpreters'', ''attorneys'' => ''Attorneys'', ))) ->getForm(); if ($request->isMethod(''POST'')) { $form->handleRequest($request); // $data is a simply array with your form fields // like "query" and "category" as defined above. $data = $form->getData(); }

He estado usando el generador de formularios con Symfony2, y me parece bastante agradable. Me parece que quiero crear una página de búsqueda con una serie de cuadros en la parte superior para filtrar los resultados de búsqueda. Tengo tres entidades diferentes a partir de ahora (jueces, intérpretes, abogados). Me gustaría que los usuarios puedan ingresar nombres parciales o completos y hacer que busque todas las entidades. Puedo manejar la parte de búsqueda real, pero la generación del generador de formularios es lo que me está causando problemas.

Lo que intento hacer es crear un formulario no asociado a ninguna entidad en particular. Todos los tutoriales y la documentación que he leído en el sitio de Symfony actúan como si se adjuntara a una entidad de forma predeterminada. Me pregunto si debería adjuntarlo a cualquier entidad y simplemente configurar cada campo de texto en mapeado = falso, si esta es una instancia en la que debería codificar el formulario por mí mismo, o si hay alguna forma de hacerlo en el generador de formularios. .


También puede usar el método createNamedBuilder para crear formularios

$form = $this->get(''form.factory'')->createNamedBuilder(''form'', ''form'') ->setMethod(''POST'') ->setAction($this->generateUrl(''upload'')) ->add(''attachment'', ''file'') ->add(''save'', ''submit'', [''label'' => ''Upload'']) ->getForm();