我正在使用Symfony3(与SonataAdminBundle一起使用),我需要创建一些验证文件。由于我有几个实体,并且我想将验证yml文件拆分为每个实体一个,我想使用依赖注入加载器来加载这些文件。现在,我的问题是:
如果我为验证文件创建自定义加载器,是否还需要手动加载services.yml和routing.yml?
我的代码是否存在导致以下错误的明显问题?
YamlFileLoader.php第404行中的InvalidArgumentException:没有 扩展能够加载配置 “UserAdminBundle \ Entity \ User”(in *****的src / UserAdminBundle / DependencyInjection /../资源/配置/确认/ validation.yml)。 查找命名空间“UserAdminBundle \ Entity \ User”,找不到
我的档案:
UserAdminBundle\Entity\User:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [email]
message: 'This user already exists'
UserAdminBundle\Entity\TaxToReseller:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [resellerId, taxId]
message: 'Reseller already has this tax'
UserAdminBundle\Entity\Tax:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
fields: [ name, value ]
message: 'This tax already exists'
我的加载方法:
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader(
$container,
new FileLocator(__DIR__.'/../Resources/config')
);
//$loader->load('validation/validation.yml');
$loader->load('validation/agent_validation.yml');
$loader->load('validation/call_centre_validation.yml');
$loader->load('validation/reseller_header_validation.yml');
$loader->load('validation/reseller_validation.yml');
$loader->load('validation/tax_validation.yml');
}
我可以用一些想法来解释它为什么找不到东西!
提前致谢!
答案 0 :(得分:0)
默认情况下会加载Resources/config/validation
中的验证文件。无需编辑加载方法。