0
我有一個簡單的用戶註冊表單,其中包含「接受條款」複選框。我已將所有字段設置爲error_bubbling = false,但複選框的錯誤呈現在form_errors(form)部分中。Symfony2:複選框字段錯誤始終呈現爲error_bubbling = true
這裏是我的實體:
class User implements UserInterface, \Serializable, EquatableInterface
{
/**
* @ORM\Column(type="boolean")
* @Assert\Type("bool")
* @Assert\NotBlank(groups={"Registration"})
*/
private $isAcceptingTOS;
....
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'password_required' => true,
'validation_groups' => array('Registration', 'Default'),
));
}
}
我的表單類型:
class RegistrationType extends AbstractType
{
$builder
->add('acceptingTOS', 'checkbox', array(
'error_bubbling' => false,
)),
....
}
而且我的模板
<form action="{{ path('registration_create') }}" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_widget(form.acceptingTOS) }}
{{ form_label(form.acceptingTOS) }}
{{ form_errors(form.acceptingTOS) }}
{{ form_rest(form) }}
<input type="submit" />
</form>
任何提示?
我不明白你的問題,你想用{{form_errors(form.acceptingTOS)}}而不是{{form_errors(form)}}來顯示錯誤嗎? – Sybio
是的,我想在form_errors(form.acceptingTOS)中顯示錯誤。靠近領域,而不是形式錯誤。 – huzi
好的,你可以告訴我們你的RegistrationType的setDefaultOptions()方法嗎? – Sybio