Symfony2中的约束与验证组

时间:2015-09-29 18:53:34

标签: php forms validation symfony

我已通过

在我的表单中启用了validation_groups
    $resolver->setDefaults([
        'translation_domain'    => 'general',
        'data_class'            => 'Software\Bundle\Entity\User',
        'attr'                  => ['novalidate' => 'novalidate'],
        'cascade_validation'    => true,
        'validation_groups'     => ['registration']
    ]);

和User.yml文件包含

    emailAddress:
        - NotBlank:
            groups: [registration]

但是在我的表单构建器方法中,我确实有额外的自定义约束

    $options = [
        'label' => 'word.email_address',
        'constraints'=> [
            new HasUsername($this->getOption('uuid'))
        ]
    ];

    return $builder->add('emailAddress', 'email', $options);

问题是,由于validation_groups已启用,因此永远不会调用表单构建器中的那个。因为当我禁用validation_groups时,会调用自定义的一个。

表单构建器中的validation_groups约束和约束是否可以同时工作?

我需要在表单构建器中调用自定义约束的原因是因为我需要传递重要变量uuid才能正确检查uuid用户所属的。

1 个答案:

答案 0 :(得分:2)

在验证组属性中使用默认值

'validation_groups'     => ['registration', 'Default']