Symfony从具有附加字段的实体形成

时间:2013-09-04 09:37:59

标签: php validation symfony symfony-forms

据我所知,我可以使用表单类型创建表单:$form = $this->createForm(new RegistrationType(), $user);

这是表单类型:

class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name', 'text');
        $builder->add('email', 'email');

        $builder->add('terms', 'checkbox', array(
            'mapped' => false
        ));
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'App\UsersBundle\Entity\User'
        ));
    }

    public function getName()
    {
        return 'user_registration';
    }

}

所以我可以添加字段term,而不是将其映射到实体。但验证这个领域的方法是什么?当然我可以在我的控制器中执行类似if ($form->get('terms')->getData())的操作,但我想使用一个函数$form->isValid()来验证所有字段(映射和不映射)?可能存在任何验证挂钩或事件吗?

1 个答案:

答案 0 :(得分:4)