Campo personalizado e validador Symfony2

Usos:

use SymfonyComponentFormCallbackValidator;
use SymfonyComponentFormFormInterface;
use SymfonyComponentFormFormError;

… algum código

$builder ->add('custom_field', 'text', array(
'mapped' => false,
));

$callback
= function(FormInterface $form) {
if ($form['custom_field']->getData() == 'something' )
{
$form
->addError(new FormError('Oops ! Error Message'));
}
};

$builder
->addValidator(new CallbackValidator($callback));

algum código …

symfony v. 2.1