Php 从父窗体中删除验证组
我将FOSUserBundle与自定义注册表一起使用,该注册表扩展了bundle提供的注册表。我想覆盖验证,这样它就不会检查用户名(我生成了用户名)。我已经读到,这可以通过使用验证组来实现 以下是我表格的相关部分:Php 从父窗体中删除验证组,php,symfony,symfony-2.1,Php,Symfony,Symfony 2.1,我将FOSUserBundle与自定义注册表一起使用,该注册表扩展了bundle提供的注册表。我想覆盖验证,这样它就不会检查用户名(我生成了用户名)。我已经读到,这可以通过使用验证组来实现 以下是我表格的相关部分: public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); ... $builder-
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
...
$builder->remove('username');
...
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Ysu\Bundle\SiteBundle\Entity\User',
'validation_groups' => array('my-registration-group'),
'cascade_validation' => true
));
}
...
但是,用户名仍然使用捆绑包提供的验证文件进行验证。我发现$options
(数组)包含一个数组validation\u groups
,该数组又包含“Registration”组,因此该字段仍然有效。但是,我不知道如何删除它。如果我在将其传递给父::buildForm
之前从$options
中取消设置,它仍将包含注册
组
有人知道如何解决这个问题吗 您可以在config.yml中为FOSUserBundle的表单配置验证组:
fos_user:
....
registration:
form:
validation_groups: [default, registration_mod]
....