现在,我有一个名为validation.yml的文件,它在一个文件中验证了包的所有实体。
validation.yml
Blogger\BlogBundle\Entity\Comment
properties:
username:
- NotBlank:
message: You must enter your name
- MaxLength: 50
comment:
- NotBlank:
message: You must enter a comment
- MinLength: 50
Blogger\BlogBundle\Entity\Enquiry:
properties:
name:
- NotBlank: ~
email:
- Email:
message: symblog does not like invalid emails. Give me a real one!
subject:
- NotBlank: ~
- MaxLength: 50
body:
- MinLength: 50
但是我想把它分成两个文件,并同时导入它们。这就是我尝试过的方法,但没有起作用:
validation.yml
imports:
- { resource: comment.yml }
- { resource: enquiry.yml }
comment.yml
Blogger\BlogBundle\Entity\Comment
properties:
username:
- NotBlank:
message: You must enter your name
- MaxLength: 50
comment:
- NotBlank:
message: You must enter a comment
- MinLength: 50
enquiry.yml
Blogger\BlogBundle\Entity\Enquiry:
properties:
name:
- NotBlank: ~
email:
- Email:
message: symblog does not like invalid emails. Give me a real one!
subject:
- NotBlank: ~
- MaxLength: 50
body:
- MinLength: 50
发布于 2012-02-23 21:50:25
在src/Blogger/BlogBundle/DependencyInjection/BloggerBlogExtension.php
的load
方法中添加这些行。
public function load(array $configs, ContainerBuilder $container)
{
//...
$yamlMappingFiles = $container->getParameter('validator.mapping.loader.yaml_files_loader.mapping_files');
$yamlMappingFiles[] = __DIR__.'/../Resources/config/comment.yml';
$yamlMappingFiles[] = __DIR__.'/../Resources/config/enquiry.yml';
$container->setParameter('validator.mapping.loader.yaml_files_loader.mapping_files', $yamlMappingFiles);
}
发布于 2014-06-10 22:52:26
Symfony 2.5打破了上述解决方案。请参阅:https://stackoverflow.com/a/24210501/175753
发布于 2012-12-17 18:34:58
您可以添加到services.xml中
<parameters>
<parameter key="validator.mapping.loader.yaml_files_loader.mapping_files" type="collection">
<parameter>Blogger\BlogBundle\Resources\config\comment.yml</parameter>
<parameter>Blogger\BlogBundle\Resources\config\enquiry.yml</parameter>
</parameter>
</parameters>
https://stackoverflow.com/questions/9403609
复制相似问题