0

我创建了一个包含两个实体的表单,使用 AcmePizzaBundle 的代码作为示例。

我有MyBundle/Entity/Factory/UploadFactory.php哪个是表单的工厂类。除了两个实体(用户和视频)之外,还有第三个 UploadType.php 表单类:

// MyBundle/Form/Type/UploadType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('user', new UserType())
            ->add('video', new VideoType());
}

UserType()并且VideoType()是表单类型类,并从它们各自的实体中保存必要的字段。

以上是从控制器/方法调用的:

public function indexAction(){
  // create upload
  $factory = new UploadFactory();

  $form = $this->createForm(new UploadType(), $factory);
}

User 和 Video 实体具有带注释的验证。这在合并这两个表单之前运行良好,但现在没有服务器端验证。

我假设验证没有通过,有没有办法强制这样做?

该代码受到披萨包代码https://github.com/beberlei/AcmePizzaBundle/blob/master/Entity/Factory/OrderFactory.php的“启发”

谢谢。

编辑:

$factory = new UploadFactory();
var_dump($factory);

// gives...
object(Project\MyBundle\Entity\Factory\UploadFactory)#101 (3) {
  ["user":"Project\MyBundle\Entity\Factory\UploadFactory":private]=> NULL
  ["video":"Project\MyBundle\Entity\Factory\UploadFactory":private]=> NULL 
}
4

0 回答 0