Symfony2如何加载validation.yml

pet*_*rus 9 symfony

在关注Symfony2的验证文档(http://symfony.com/doc/current/book/validation.html)时,作者经常提到

src/Acme/BlogBundle/Resources/config/validation.yml

我也有这个文件,在适当的位置(占我的包名称和供应商),但它完全被忽略.

我需要从某处加载吗?

Alb*_*ona 28

您不必加载validation.yml programmaticaly.您只需修改config.yml以启用验证并禁用注释:

framework:
    validation:      { enabled: true, enable_annotations: false }
Run Code Online (Sandbox Code Playgroud)

  • 它对我不起作用... validation.yml仍然被忽略 (4认同)
  • 我们使用`validation:{enable_annotations:true}`(没有提到`enabled:true`)并且可以(并且确实)使用:validation.yml和annotations(Symfony 2.3.8). (3认同)
  • 如果我想同时使用两者怎么办?我到处使用注释,但我需要覆盖FOS_User验证.validation.xml有效,但validation.yml不行 (2认同)

Car*_*dos 6

您需要在扩展文件src/Acme/BlogBu​​ndle/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);
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!你在哪里找到这些信息?因为我在添加安全性和路由文件时遇到了同样的问题而没有在我的全局app/config中进行脏包含 (5认同)