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

时间:2015-05-12 13:55:07

标签: 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(

            ))
        ;
    }

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

{{ dump(myForm.card.type.vars.errors|length) }} //<--- IS ALWAYS 0

但是当我将formtype字段更改为"text"而不是"hidden"时,我得到的正确长度为3。

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

感谢任何帮助!!

1 个答案:

答案 0 :(得分:5)

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

将error_bubbling设为false

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

使用这种方式显示错误

{{ form_label(form.shippingAddress) }}
{{ form_errors(form.shippingAddress) }}
{{ form_widget(form.shippingAddress) }}