これが 2 か月後の役に立てば幸いです :) これを行う最善の方法は、EventSubscriberInterface を実装するクラスをフォーム オブジェクトの pre-bind イベントにバインドすることです。このメソッドを使用すると、admin ジェネレーターのコントローラーを編集する必要はありません。
サブスクライバー リスナー Ignore Empty fields、リンクはスペイン語ですが、翻訳できます。基本的には、EventSubscriberInterface インターフェイスを実装するクラスを作成します。ブログ投稿でクラスが提供されます。
namespace Acme\TestBundle\Admin;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class IgnoreBlankFieldListener implements EventSubscriberInterface
{
    private $factory;
    private $name;
    public function __construct(FormFactoryInterface $factory, $name)
    {
        $this->factory = $factory;
        $this->name = $name;
}
public static function isNotEmpty($var )
{
    if(is_array($var))
    {
        $notempty = false;
        foreach( $var as $v )
        {
            $notempty = $notempty || !IgnoreBlankFieldListener::isNotEmpty($v);
        }
        return $notempty;
    }
    else
        return !empty ($var);
}
public static function isEmpty( $var )
{
    return IgnoreBlankFieldListener::isNotEmpty($var);
}
public function preBind(FormEvent $event){
    $data = $event->getData();
    $data_name = $data[$this->name];
    if( IgnoreBlankFieldListener::isEmpty($data_name) )
    {
       $form = $event->getForm();
       unset( $data[$this->name] );
       $event->setData($data);
       $form->remove($this->name);
    }
}
public static function getSubscribedEvents() {
        return array(FormEvents::PRE_BIND => 'preBind');
    }
}
次に、このクラスをフォームにサブスクライブします。ClassType 定義の buildForm 部分でこれを行います。
public function buildForm(FormBuilder $builder, array $options)
{
 //initial code
 //
$subscriber = new IgnoreBlankFieldListener($builder->getFormFactory(), 'password');
$builder->addEventSubscriber($subscriber);
}
Symfony ドキュメントの詳細