【发布时间】:2019-03-14 11:50:32
【问题描述】:
我有这个表格,附有 oneToMany 文档的报告
class ReportType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('documentDatas', CollectionType::class, array(
'entry_type' => DocumentType::class,
'allow_add' => true,
'allow_delete' => true,
'label' => false
))
->add('comment', TextType::class, array(
'label' => 'vat',
'required' => false,
))
->add('save', SubmitType::class);
}
}
这是文档类型
class DocumentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('examDocument', VichImageType::class, array(
'label' => 'examDocument',
'data_class' => null,
'attr' => array('class' => 'upload-image'),
))
->add('note', TextType::class, array(
'label' => 'notes',
'required' => false,
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Model\DocumentData',
));
}
}
我使用 VichImageType 上传的地方。当表单验证正常时,一切正常,文件被上传,文档实体添加到我的数据库中。 但是当某些验证被违反时(在文档或评论上)我收到这个奇怪的错误:
“AppBundle\Model\DocumentData”类不可上传。如果你使用 配置 VichUploaderBundle 的注释,你可能只是忘记了 在您的实体顶部添加
@Vich\Uploadable。如果你不使用 注解,检查配置文件是否正确 地方。在这两种情况下,清除缓存也可以解决问题。
当我的操作尝试响应视图时,当表单无效时,我会收到此消息:
public function commentAction(Request $request) {
$reportData = new ReportData();
$form = $this->createForm(ReportType::class, $reportData);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()){
//some logic
}
return $this->render('report/form.html.twig', [
'form' => $form->createView(), //symfony evidence this row in the exception
]);
}
【问题讨论】:
标签: symfony vichuploaderbundle