Php 为什么我的浏览器不尊重类中的验证组

Php 为什么我的浏览器不尊重类中的验证组,php,symfony,twig,Php,Symfony,Twig,我有一个带有一些约束的用户类。 为了构建和更新用户类对象,我使用了一个名为UserType的表单类型 为了完成一项特定的任务,我尝试测试验证组(约束)。 我从symfony文档中了解到,每当您向约束添加新组时,除非您指定,否则它们永远不会应用。 因为“默认”约束将首先应用 因此,我在我的一个类属性中添加了一个验证组,它最初应该是一个必填字段。 但是当我尝试验证表单时,浏览器告诉我该字段是必需的 我应该向代码中添加什么内容,以告知浏览器只有在请求此验证组时才需要此字段 /** * @ORM\Co

我有一个带有一些约束的用户类。
为了构建和更新用户类对象,我使用了一个名为UserType的表单类型

为了完成一项特定的任务,我尝试测试验证组(约束)。 我从symfony文档中了解到,每当您向约束添加新组时,除非您指定,否则它们永远不会应用。 因为“默认”约束将首先应用

因此,我在我的一个类属性中添加了一个验证组,它最初应该是一个必填字段。 但是当我尝试验证表单时,浏览器告诉我该字段是必需的

我应该向代码中添加什么内容,以告知浏览器只有在请求此验证组时才需要此字段

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotBlank(message="Ajouter une image", groups={"mandatory"})
 * @Assert\Image(
 *     minWidth = 200,
 *     maxWidth = 1000,
 *     minHeight = 200,
 *     maxHeight = 1000,
 *     groups={"mandatory"}
 * )
 */

private $cover;

验证约束不是关于客户端,而是关于服务器端

如果要设置浏览器html5验证所需(或不需要)的字段,则必须在表单生成器中指定该字段:

$builder->add('cover', null, [
    'required' => false,
]);
看一看