84

コントローラーでいくつかの検証を確認します。そして、失敗時にフォームの特定の要素にエラーを追加したいと思います。私のフォーム:

use Symfony\Component\Form\FormError;

// ...

$config = new Config();
$form = $this->createFormBuilder($config)
        ->add('googleMapKey', 'text', array('label' => 'Google Map key'))
        ->add('locationRadius', 'text', array('label' => 'Location radius (km)'))
        ->getForm();

// ...

$form->addError(new FormError('error message'));

addError() メソッドは、要素ではなくフォームにエラーを追加します。locationRadius 要素にエラーを追加するにはどうすればよいですか?

4

2 に答える 2

182

できるよ

$form->get('locationRadius')->addError(new FormError('error message'));

フォーム要素もFormInterfaceタイプです。

于 2012-09-14T07:07:58.153 に答える