Symfony/Twig: 如何从隐藏字段中获取错误消息
Symfony/Twig: How to get error Message from hidden fields
我在我的表单类型中定义了 3 个隐藏字段:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('type', 'hidden', array(
))
->add('number', 'hidden', array(
))
->add('token', 'hidden', array(
))
;
}
当我发送表单时,我从我的 Controller 收到一个 notValid 错误,这是完全正确的。但是当我想在我的树枝模板中获取错误时,没有设置错误。
{{ dump(myForm.card.type.vars.errors|length) }} //<--- IS ALWAYS 0
但是当我将表单类型字段更改为 "text"
而不是 "hidden"
时,我得到了正确的长度 3。
获取隐藏字段的错误有什么不同吗?
感谢您的帮助!!
我今天也遇到这个问题,我的解决办法是:
设置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) }}
我在我的表单类型中定义了 3 个隐藏字段:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('type', 'hidden', array(
))
->add('number', 'hidden', array(
))
->add('token', 'hidden', array(
))
;
}
当我发送表单时,我从我的 Controller 收到一个 notValid 错误,这是完全正确的。但是当我想在我的树枝模板中获取错误时,没有设置错误。
{{ dump(myForm.card.type.vars.errors|length) }} //<--- IS ALWAYS 0
但是当我将表单类型字段更改为 "text"
而不是 "hidden"
时,我得到了正确的长度 3。
获取隐藏字段的错误有什么不同吗?
感谢您的帮助!!
我今天也遇到这个问题,我的解决办法是:
设置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) }}