Bonjour,

Petit problème, lorsque je valide un formulaire, j'ai un champ qui est apparemment vide mais invisible, donc ce même formulaire n'envoie pas la requête.

J'ai alors le droit à un "veuillez compléter ce champs". Je soupçonne le champ du token...

J'ai bien le :
[code] {{ form_rest(form) }}[/code]
dans ma vue.

Côté constructeur de formulaire, j'ai bien mon fichier xType.

Si quelqu'un a une idée ou une suggestion de manip' pour trouver le problème je suis preneur !

Une des vues d'administration, pour ajouter un page :
[code]{% extends "AkodiBlogBundle::layoutAdmin.html.twig" %}

{% block body %}
<h2 class="page-header">Ajouter une page</h2>
<div class="well">
{{ form_start(form, {'attr': {'class': 'form'}}) }}
{{ form_errors(form) }}

<div class="form-group">
    {{ form_label(form.titre) }}
    {{ form_errors(form.titre) }}
    {{ form_widget(form.titre, {'attr': {'class': 'form-control'}}) }}
</div>

<div class="form-group">
    {{ form_label(form.contenu) }}
    {{ form_errors(form.contenu) }}
    {{ form_widget(form.contenu, {'attr': {'class': 'form-control', 'rows': '20'}}) }}
</div>

{{ form_rest(form) }}
<input type="submit" class="btn btn-primary" />

{{ form_end(form) }}
</div>
{% endblock %}[/code]

L'action du controlleur page :
[code]public function ajouterAction()
{
if (!$this->get('security.context')->isGranted('ROLE_ADMIN')) {
return $this->redirect($this->generateUrl('login'));
}

    $page = new Page;
    $form = $this->createForm(new PageType, $page);

    $request = $this->get('request');

    if($request->getMethod() == 'POST') {
        $form->bind($request);

        if($form->isValid()) {
            $this->get('akodi_page_manager')->savePage($page);

            return $this->redirect($this->generateUrl('akodi_page_single', array(
                'id' => $page->getId()
            )));
        }
    }
    return $this->render('AkodiBlogBundle:Page:ajouter.html.twig', array('form' => $form->createView()));
}

[/code]
Et le PageType généré en ligne de commande :
[code]<?php

namespace Akodi\BlogBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class PageType extends AbstractType
{
/**

  • @param FormBuilderInterface $builder
  • @param array $options
    */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
    $builder
    ->add('titre')
    ->add('contenu')
    ;
    }

    /**

  • @param OptionsResolverInterface $resolver
    */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
    $resolver->setDefaults(array(
    'data_class' => 'Akodi\BlogBundle\Entity\Page'
    ));
    }

    /**

  • @return string
    */
    public function getName()
    {
    return 'akodi_blogbundle_page';
    }
    }
    [/code]
    Petite mise à jour de mon problème : quand je recharge la page, le contenu inscrit dans mon formulaire reste intacte puis à partir de là, quand je retente une validation du formulaire, celui-ci marche !

À savoir aussi que cela est survenu au moment où j'ai rajouté l'ajout des pages (donc ce code-ci). Avant cela, l'ajout des articles, catégories, ect... fonctionnaient très bien. Mais le beug s'étend à tout les formulaire d'ajout (donc vide au chargement de la page). Pas de beug pour les formulaires de modif'.

Merci & bonne journée !

Aucune réponse