我在Symfony中提到了一个缺失的功能:https://github.com/symfony/symfony/issues/3622
我有几个实体与Address
实体具有OneToOne关系。所有这些OneToOne关系都伴随约束@Valid()
。因此,我有一个嵌入其他形式的AddressFormType
。有时,各种形式的地址都是必需的,有时则不是。
问题
即使我在实体Address
中定义了验证组,也无法使用以下代码传递此验证组:
$builder->add('address', AddressFormType::class, array(
'required' => true,
'validation_groups' => array('required'),
));
现在,直到Symfony 3.0.0添加cascade_validation
可以解决这个问题。不幸的是,在Symfony 3.0.0中删除了cascade_validation
,并且没有提供解决手头问题的解决方案。
可能的解决方法
可以同时禁用address
字段的验证,只需在控制器中验证即可。但是,由于我使用的是FOSUserBundle和PUGXMultiUserBundle,这对于这样一个小问题来说是一个巨大的解决方法。
问题
有没有其他方法可以正确验证地址?