Symfony2表单isValid不起作用

时间:2013-06-05 15:20:38

标签: validation symfony symfony-forms fosuserbundle

我的表格类型:

public function buildForm(FormBuilderInterface $builder, array $options)
{

    $builder
        ->add('email', 'email')
        ->add('username')
    ;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'MyApp\UserBundle\Entity\User',
    ));
}

和控制器:

    $form = $this->createForm(new OAuthEmailType());
    if ($request->isMethod('POST'))
    {
        $user = new User();
        $form->setData($user);
        $form->bind($request);

        // die($form->getErrorsAsString());
        if ($form->isValid()) // always returns true
        {
            // ...
        }
        // ...
    }

我的用户实体属性具有注释验证。此类还扩展了FOSUserBundle用户实体。

这就是问题所在。 $form->isValid()始终返回true,但相同的表单类型与另一个控制器完美配合。为什么表单未在此控制器中完全验证?我错过了什么?

1 个答案:

答案 0 :(得分:2)

我很棒的直觉表明你需要在表单中添加正确的validation_group。

其实只是一个猜测。查看评论。但我也遇到过这种情况。