Ответ 1
Нет. В общем, вам не нужно создавать ошибки в родительской форме. Если вы хотите отображать все ошибки в одном месте, вы можете сделать это в шаблоне.
Вот как я сейчас активирую ошибки в своих формах:
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title', null, array('error_bubbling' => true))
->add('content', null, array('error_bubbling' => true))
;
}
Существует ли формальная версия?
Нет. В общем, вам не нужно создавать ошибки в родительской форме. Если вы хотите отображать все ошибки в одном месте, вы можете сделать это в шаблоне.
Если вы правильно используете типы форм (возможно, не позволяйте symfony догадываться об этом), то вы должны получить всплывающее окно по умолчанию, как показано здесь:
http://symfony.com/doc/current/reference/forms/types/text.html#error-bubbling
Однако, если вы используете настраиваемый тип формы, вы можете установить по умолчанию error_bubbling по умолчанию с configureOptions
final class CustomFormType extends AbstractType
{
/** {@inheritdoc} */
public function buildForm(FormBuilderInterface $builder, array $options)
{
...
}
/** {@inheritdoc} */
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setRequired('label');
$resolver->setDefaults([
'error_bubbling' => false,
'compound' => true,
]);
}
}