Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Formulario embebido Symfony2

15 de julio de 2015

Buenas noches:

Quería hacer un par de consultas referentes a los formularios embebidos en Symfony 2, concretamente, 2.7.

Les comento, tengo dos entidades: ent1 y ent2. La entidad uno tiene una propiedad que es un objeto ent2. A su vez, ent2 tiene sus propiedades tipo array (creo que no es relevante para este primer punto).

He creado dos clases formulario, una por cada entidad, definiendo en cada una sus respectivos campos. En la definición de la ent1, en el builder, he agregado la referencia al formulario de ent2:

[...]
$builder ->add('ent2', new Ent2FormType());

En la vista, se ven los formularios correctamente, sin embargo, al final, me está renderizando los campos de ent2, bueno, los labels, de manera que tiene los campos de la ent2 definidos en la vista, más lo que ha renderizado 'solo'. Los campos en twig los he definido de la siguiente manera:

[...]
<div class="form-group">
    <ul id="lstItems" class="list-unstyled"
        data-prototype="{{ form_widget(form.ent2.items.vars.prototype) | e }}">
        {% for item in form.ent2.items %}
        <li>
            {{ form_errors(item) }}
            {{ form_widget(item) }}
        </li>
        {% endfor %}
    </ul>
    <a id="addItems" href="#" class="btn btn-primary btn-sm">
        <i class="fa fa-plus-square"></i>&nbsp;&nbsp;<span>Agrega otro elemento</span>
    </a>
</div>
[...]

La segunda consulta, es referente a los campos tipo collection. Si me dedico a crear elementos vacíos a través de 'Agregar otro elemento' y los voy dejando vacíos, al hacer el post del formulario, ¿cómo se comportaría Symfony? ¿obvia si están vacíos y no los registra, registra entradas vacías o lanza errores de validación?

Muchas gracias de antemano.

Saludos.