Symfony/Twig:如何从隐藏字段获取错误消息

Zwe*_*012 4 php symfony twig

我在formtype中定义了3个隐藏字段:

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('type', 'hidden', array(

            ))
            ->add('number', 'hidden', array(

            ))
            ->add('token', 'hidden', array(

            ))
        ;
    }
Run Code Online (Sandbox Code Playgroud)

当我发送表单时,我从Controller获得了一个notValid错误,这完全正确.但是当我想在我的twig模板中获取错误时,没有设置错误.

{{ dump(myForm.card.type.vars.errors|length) }} //<--- IS ALWAYS 0
Run Code Online (Sandbox Code Playgroud)

但是当我更改formtype字段"text"而不是"hidden"我得到3的正确长度.

获取隐藏字段的错误是不同的?

谢谢你的帮助!!

Vid*_*eni 5

我今天也遇到了这个问题,我的解决方案是:

将error_bubbling设置为 false

$form->add('shippingAddress', 'hidden', [
    'label' => 'acme.form.checkout.addressing.shipping_address',
    'data' => $addressId,
    'error_bubbling'=>false
]);
Run Code Online (Sandbox Code Playgroud)

使用这种方式显示错误

{{ form_label(form.shippingAddress) }}
{{ form_errors(form.shippingAddress) }}
{{ form_widget(form.shippingAddress) }}
Run Code Online (Sandbox Code Playgroud)