0

我有一个简单的用户注册表单,上面有一个“接受条款”复选框。我已将所有字段设置为 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>

有什么提示吗?

4

1 回答 1

0

我发现了错误。

我必须在表单类型和模板中使用 isAcceptingTOS 而不是接受 TOS。

于 2012-12-09T15:12:06.047 回答