1

在允许表单插入之前检查值是否已经存在的最佳方法是什么?如果已经存在具有指定用户名的用户,我希望表单验证为假。我猜想在某个地方会有一个独特的约束,但要更全面,或者能够以更定制的方式检查值。假设一个客户帐户中有多个管理员帐户,他们都有降级其他管理员的权限,我希望能够进行的一项检查是您是否禁用了最后一个管理员(如果是这样,请阻止降级操作,在表单上有一个很好的错误消息......)

例如,我可以从我的 formType 中访问实体管理器,还是必须从控制器以解决方法的方式传递?

    $builder
        ->add('username', 'text', array('label' => 'Användarnamn '))
        ->add('email', 'email', array('label' => 'Epost '))
        ->add('plainPassword', 'repeated', array('type' => 'password', 'first_name' => 'Lösenord ', 'second_name' => 'Upprepa lösenord',));
4

1 回答 1

0

您应该创建一个自定义验证约束并将其注入EntityManager以访问数据库。

于 2012-08-17T20:53:17.817 回答