我在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。
获取隐藏字段的错误是不同的吗?
感谢任何帮助!!
答案 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) }}