Cómo borrar el valor del campo con los formularios de Symfony2

Estoy escribiendo mi propia clase de CAPTCHA y cuando el formulario no se valida, no quiero rellenar previamente la entrada de captcha con la respuesta anterior, por razones obvias. Solo quiero borrar la entrada antes de que sea renderizada.

He descubierto eldatos La opción es solo para el valor predeterminado, que se sobrescribe por lo que ingresa el usuario. Probé el siguiente código:

$form->get('captcha')->setData(null);

.. Después de que la solicitud está vinculada con el formulario, pero unAlreadyBoundException es aventado. De hecho, he logrado que funcione con:

if (isset($formView->children['captcha'])) {
    $formView->children['captcha']->vars['value'] = null;
}

Pero eso simplemente se ve mal, y definitivamente no cumple con los estándares de Symfony. He examinado las otras opciones que puede proporcionar al crear el formulario, pero no puedo ver nada que tenga en cuenta.

¿Alguien tiene alguna idea?

Por cierto, casi espero que Symfony2 venga empaquetado con una solución CAPTCHA, esto es principalmente un ejercicio de aprendizaje mientras me acostumbro al marco.

Respuestas a la pregunta(3)

Su respuesta a la pregunta