2

阅读并使用我所拥有的东西,我得出结论,我走在正确的道路上,只需像其他任何形式一样嵌入表单:

$builder->add('user', 'fos_user_registration', array(
    'label' => 'Sign up',
    'error_bubbling' => false
));

而且我一直认为我必须将我的验证组与 FOSUser 的验证组对齐?:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'ACME\ReviewBundle\Entity\Review',
        'flowStep' => 1,
        'validation_groups' => array('Registration', 'Profile')
    ));
}

也许Default也有?:

        'validation_groups' => array('Default', 'Registration', 'Profile')

但是,验证仍在通过,它在数据库级别失败,所以我猜我需要做其他事情来分配验证组?


除此之外,我也不确定这个处理是如何工作的,我可以从 FOSUser 表单处理程序和控制器中提取一部分,但这似乎有点湿,我想知道是否有更好的方法?让这一切都依赖于相同的逻辑会很好。

为了提供一些上下文,我正在使用 CraueFormFlow 并且我有一个用户需要能够启动或不启动的过程。如果他们未经身份验证,则该过程的后续步骤需要他们注册或登录。

我需要保留在身份验证之前收集的数据,据我所知,如果我可以将注册和登录表单嵌入到我的主表单中,这应该自然而然地发生。

注意:我关闭了电子邮件确认,所以这不是问题,并且应该可以使整个过程线性化,用户通过身份验证并提交他们的评论。

4

1 回答 1

0

原来我需要一个@Assert注释,否则验证不适用。

于 2012-09-10T08:43:09.137 回答