我有一个实体Company
和Address
,它们有自己的类型CompanyType
和AddressType
。 AddressType
嵌入CompanyType
。我做的一切与Embedded Forms cookbook entry完全一样。表单已正确嵌入,并且显示正确,但验证不起作用。我使用单独的.yml
文件进行验证......
$yamlMappingFiles = $container->getParameter('validator.mapping.loader.yaml_files_loader.mapping_files');
$yamlMappingFiles[] = __DIR__.'/../Resources/config/validation/address_validation.yml';
$yamlMappingFiles[] = __DIR__.'/../Resources/config/validation/company_validation.yml';
$container->setParameter('validator.mapping.loader.yaml_files_loader.mapping_files', $yamlMappingFiles);
...并且它没有在任何实体中验证。我试图破坏yml文件,解析器抛出一个错误,这意味着它加载文件。我也试过查看var_dump($form->getErrors());
,但它返回一个空数组。同时,如果我在表单中留下所有空白字段,则表单未经过验证。代码没有进入这里......
if( $form->isValid() ) {
... does not enter here if all input elements are empty ...
}
如果我没有弄错,如果表单上没有使用验证,则表单始终有效,因此这必须意味着处理验证.yml
文件。
我没有发布任何代码,因为我的表格与食谱中的例子完全相同。试想一下Task
为Company
而Tag
为Addres
。
有什么想法吗?