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

エラーが見つかりました。

フォームタイプとテンプレートでacceptTOSの代わりにisAcceptingTOSを使用する必要があります。

于 2012-12-09T15:12:06.047 に答える