我正在使用基于带有Select2库的Symfony 4的应用程序。
在我的src/Form/PostType.php
文件中,我声明了字段标签,用户应该可以在其中设置预先声明的Tag
之一或添加新的(通过键入标签名称并按Enter键。)>
$builder ->add('tags', EntityType::class, [ 'class' => Tag::class, 'choice_label' => 'name', 'mapped' => false, 'expanded' => false, 'multiple' => true, 'required' => false, ]);
从前端开始,我正在使用select2库来处理显示标签字段。
在下面的示例中,从数据库中已存在的实体中选择了拳头标签,第二个应该在此秒中保存。
任何想法,我应该更改为已提交的声明,以使该字段也对新标签有效吗?控制器已准备就绪,唯一的问题是要通过表单验证:)
编辑:
ORM中的关系如下所示:
class Company { /** * @ORM\ManyToMany(targetEntity="App\Entity\Tag", mappedBy="companies") */ private $tags; } class Tag { /** * @ORM\ManyToMany(targetEntity="App\Entity\Company", inversedBy="tags") */ private $companies; }
并且除了上面的代码外没有其他验证
我正在使用基于带有Select2库的Symfony 4的应用程序。在我的src / Form / PostType.php文件中,我声明了字段标签,用户应该可以在其中设置预声明的标签之一或添加新标签(按标签类型...
您已设置要映射的字段= false。如果未映射字段,则必须手动处理表单验证。您可以共享您的实体代码,如果编写了任何验证代码?