2015-05-16 19 views
1

我有一個PRE_SUBMIT事件,裏面我嘗試糾正一個字符串,如果出現錯誤。在這種情況下,我想在某些情況下在特定字段中使用「addError」。Symfony 2.6:PRE_SUBMIT事件中的addError

如果我做的:

$form->addError(new \Symfony\Component\Form\FormError('my message'));

「我的消息」 出現,但如果我嘗試做:

$form->get('my_field_name')->addError(new FormError('my message'));

「我的信息」 從來不是我把所有出現在儘管我枝杈。

你有什麼想法嗎?

回答

0
$form->addError(new \Symfony\Component\Form\FormError('my message')); 

$form->get('my_field_name')->addError(new FormError('my message')); 

是兩回事。

在第一種情況下,您會在表單元素上添加一個錯誤,您可以在模板中使用{{ form_error(form) }}顯示錯誤。在第二種情況下,您在表單的特定字段上添加錯誤,您可以使用{{ form_error(form.my_field_name) }}進行顯示。

如果你想顯示在表格上my_field_name設置錯誤,你必須使用選項error_bubbling自己場上http://symfony.com/fr/doc/current/reference/forms/types/form.html#error-bubbling

+1

你說什麼就是什麼,我明白,當我嘗試,但在我而言,當我做'{{form_error(form.my_field_name)}}'儘管我在特定字段中添加了錯誤,但這個沒有出現。然後我知道error_bubling,但這不能回答這個問題。 – Draeli