Wie kann ich überprüfen, ob das bereitgestellte CSRF-Token in Symfony2 ungültig ist?

Ich habe ein Symfony2-Formular erstellt und es an die Anfrage gebunden. Ich muss explizit sicherstellen, dass das CSRF-Token gültig / ungültig ist, bevor ich mit dem Rest des Formulars fortfahre.

$form['_token']->isValid() wirftOutOfBoundsException mit der Meldung "Child _token existiert nicht."

Ich kann immer noch überprüfen, ob das gerenderte Formular enthält_token Feld. Falls der CSRF-Wert ungültig ist,$form->isValid() gibt false zurück.

Was vermisse ich hier?

Update 1:

Controller (teilweise):

private function buildTestForm() {
    $form = $this->createFormBuilder()
            ->add('name','text')
            ->getForm();
    return $form;
}

/**
 * @Route("/test/show_form", name="test.form.show")
 * @Method("GET")
 */
public function showFormTest()
{
    $form = $this->buildTestForm();
    return $this->render('TestBundle::form_test.html.twig', array('form' => $form->createView()));
}

/**
 * @Route("/test/submit_form", name="test.form.submit")
 * @Method("POST")
 */
public function formTest()
{
    $form = $this->buildTestForm();
    $form->bind($this->getRequest());
    if ($form['_token']->isValid()) {
        return new Response('_token is valid');
    } else {
        return new Response('_token is invalid');
    }
}

Vorlage

{# Twig template #}
<form action="{{ path('test.form.submit') }}" method="post" {{ form_enctype(form) }}>
    {{ form_widget(form) }}
    <input type="submit" name="go" value="Test Form" />
</form>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage