我使用VichUploaderBundle管理网站上的文件。
我想以一种形式确保需要几个属性。
这些是File类型的属性,以及Entity类型的属性:
->add('paquetFile', VichFileType::class, array(
'required' => 'required',
'label'=> "Package",
'allow_delete' => false,
))
->add('typeUser',EntityType::class, array(
'required' => 'required',
'class'=>'Site\PagesBundle\Entity\TypeUser',
'choice_label'=>'typeUtilisateur',
'expanded'=>true,
'multiple'=>true,
));
但是在形式上,它不起作用。我可以在不填写这两个字段的情况下进行验证。当然,由于它们不能为null,所以我有一个错误。 对于文本类型的普通属性,约束起作用。
如何强制用户选择具有File属性的文件,并强制用户选中EntityType中的至少一个复选框?
/**
* @var string
*
* @ORM\Column(name="urlPaquet", type="string", length=255)
*/
private $urlPaquet;
/**
* @Vich\UploadableField(mapping="paquet", fileNameProperty="urlPaquet")
* @var File
* @Assert\NotBlank()
*/
private $paquetFile;
/**
* @var \Doctrine\Common\Collections\Collection
* @ORM\ManyToMany(targetEntity="TypeUser", inversedBy="packages")
* @ORM\JoinTable(name="Packages_des_TypesUser")
* @ORM\JoinColumn(nullable=false)
*/
private $typeUser;
编辑:对于文件,我在实体上添加了“ @Assert \ NotBlank()”,这没关系。但是对于“ typeUser”来说,这是行不通的
谢谢!