Saltar al contenido

Error de formulario Symfony2.4 ‘Este formulario no debe contener campos adicionales’

Contamos con tu apoyo para compartir nuestras secciones en referencia a las ciencias informáticas.

Solución:

Si desea que el validador ignore los campos adicionales, debe intentar pasar 'allow_extra_fields' => true como una opción al FormBuilder.

Es porque cuando está generando el formulario, está agregando botones de envío, pero cuando los está validando, no lo está. tratar:

public function cpostAction(Request $request)
{
    $entity = new Task();
    $form = $this->createForm(new TaskType(), $entity)->add('submit','submit');
    ...

El botón Enviar es técnicamente un campo, aunque Symfony no lo asignará a una propiedad de entidad de forma predeterminada. Entonces, cuando genera el formulario con un botón de envío y luego envía ese formulario, el formulario que genera en su acción de controlador de validación también debe tener un botón de envío.

Si desea deshabilitar la validación de campos, debe agregar

public function setDefaultOptions(SymfonyComponentOptionsResolverOptionsResolverInterface $resolver)

    $resolver->setDefaults(array(
        'csrf_protection' => false,
        'validation_groups' => false,
    ));

Y en el método buildForm:

    public function buildForm(FormBuilderInterface $builder, array $options) 
        $builder->addEventListener(FormEvents::POST_SUBMIT, function ($event) 
            $event->stopPropagation();
        , 900);
        $builder->add('field1','text')
                ->add('field2','text')
                .
                .
                .
     

Para más detalles: http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html#cookbook-dynamic-form-modification-suppressing-form-validation

Calificaciones y comentarios

Si para ti ha resultado útil este post, sería de mucha ayuda si lo compartieras con más entusiastas de la programación de esta manera contrubuyes a difundir nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *