Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以专门向CollectionType字段添加错误?_Php_Forms_Symfony - Fatal编程技术网

Php 是否可以专门向CollectionType字段添加错误?

Php 是否可以专门向CollectionType字段添加错误?,php,forms,symfony,Php,Forms,Symfony,我正在尝试向Symfony表单中的CollectionType“字段”添加错误 在我的Symfony表格中,除其他字段外,我还有一个CollectionType: ->add('collCases', CollectionType::class, [ 'mapped' => false, 'label' => "Cases :", 'entry_type' =

我正在尝试向Symfony表单中的CollectionType“字段”添加错误

在我的Symfony表格中,除其他字段外,我还有一个CollectionType:

            ->add('collCases', CollectionType::class, [
                'mapped' => false,
                'label' => "Cases :",
                'entry_type' => TextType::class,
                'entry_options' => [
                    'label' => false,
                ],
                'allow_add' => true,
                'prototype' => true,
                'required' => false,
            ])
在我的控制器中,我有一个条件,在此条件下,我向几个字段添加一个错误。 对于TextType字段,它工作正常(在细枝模板中显示为
{{form_errors(form.name)}}
):

但是,当我尝试对我的CollectionType字段执行相同操作时,错误会被添加到表单本身而不是集合中(它显示为
{{form\u errors(form)}
而不是
{form\u errors(form.collCases)}

$form->get('collCases')->addError(new FormError("At least one case number is not formatted correctly."));

是否可以将错误添加到CollectionType?

您正在将错误添加到CollectionType,它是父窗体的一部分。您想将错误添加到集合中的嵌入TextType。请尝试
foreach($form->get('collcase')as$text){$text->addError(…)}
@arleghix我确实想将其添加到CollectionType,但它会添加到CollectionType的父级。您正在将错误添加到CollectionType,它是父级表单的一部分。您想将错误添加到集合中的嵌入式TextType。请尝试将
foreach($form->get('collcase')作为$text){$text->addError(…)}
@arleighix我确实想将其添加到CollectionType,但它已添加到CollectionType的父级。
$form->get('collCases')->addError(new FormError("At least one case number is not formatted correctly."));