我有一个简单的用户注册表单,其中包含“接受条款”的复选框。我已将所有字段设置为error_bubbling = false,但复选框的错误在form_errors(form)部分中呈现。
这是我的实体:
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>
任何提示?
答案 0 :(得分:0)
我发现了错误。
我必须使用isAcceptingTOS而不是在表单类型和模板中接受TOS。