遵循Symfony2的验证文档时(http://symfony.com/doc/current/book/validation.html)作者经常提到
src/Acme/BlogBundle/Resources/config/validation.yml
我也有这个文件,在适当的位置(当然包括我的捆绑包名称和供应商),但它被完全忽略了。
我需要从某个地方加载这个吗?
您不必以编程方式加载validation.yml。您只需修改config.yml即可启用验证并禁用注释:
framework:
validation: { enabled: true, enable_annotations: false }
您需要将其加载到扩展文件src/Acme/BlogBundle/DependencyInjection/AcmeBlogExtension.php中。
public function load(array $configs, ContainerBuilder $container)
{
//...
$yamlMappingFiles = $container->getParameter('validator.mapping.loader.yaml_files_loader.mapping_files');
$yamlMappingFiles[] = __DIR__.'/../Resources/config/validation.yml';
$container->setParameter('validator.mapping.loader.yaml_files_loader.mapping_files', $yamlMappingFiles);
}