在 Symfony2 中,validation.yml 文件可以使用导入拆分成多个文件吗?
现在,我有一个名为 validation.yml 的文件,其中在一个文件中验证了捆绑包的所有实体.
Right now, I have a file called validation.yml with the validation of all the bundle's entities in one file.
validation.yml
validation.yml
BloggerBlogBundleEntityComment
properties:
username:
- NotBlank:
message: You must enter your name
- MaxLength: 50
comment:
- NotBlank:
message: You must enter a comment
- MinLength: 50
BloggerBlogBundleEntityEnquiry:
properties:
name:
- NotBlank: ~
email:
- Email:
message: symblog does not like invalid emails. Give me a real one!
subject:
- NotBlank: ~
- MaxLength: 50
body:
- MinLength: 50
但我想将其拆分为两个文件并将它们都导入.这是我尝试过的,但没有成功:
But I'd like to split it into two files and import them both. This is what I tried and it didn't work:
validation.yml
validation.yml
imports:
- { resource: comment.yml }
- { resource: enquiry.yml }
comment.yml
comment.yml
BloggerBlogBundleEntityComment
properties:
username:
- NotBlank:
message: You must enter your name
- MaxLength: 50
comment:
- NotBlank:
message: You must enter a comment
- MinLength: 50
enquiry.yml
enquiry.yml
BloggerBlogBundleEntityEnquiry:
properties:
name:
- NotBlank: ~
email:
- Email:
message: symblog does not like invalid emails. Give me a real one!
subject:
- NotBlank: ~
- MaxLength: 50
body:
- MinLength: 50
推荐答案
在 src/Blogger/BlogBundle/DependencyInjection/BloggerBlogExtension.php
的 load
方法中添加这些行.
Add these lines in load
method of src/Blogger/BlogBundle/DependencyInjection/BloggerBlogExtension.php
.
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);
}
相关文章