2

我正在开发基于 Symfony 4 和 Select2 库的应用程序。

在我的src/Form/PostType.php文件中,我声明了字段标记,用户应该能够在其中设置一个预先声明的Tag或添加新的(通过类型标记名称并按回车键)。

$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;

}

除了上面的代码之外,没有其他验证

4

1 回答 1

1

您已将要映射的字段设置为 = false。如果字段未映射,则必须手动处理表单验证。你能分享你的实体代码,如果它是写的任何验证代码?

于 2019-11-05T02:30:42.013 回答