图像

编辑本页

图像

Image约束的工作原理与文件约束,除了它mimetype而且mimeTypesMessage选项将自动设置为专门用于图像文件。

此外,它有选项,所以你可以验证的宽度和高度的图像。

看到文件约束用于此约束的大部分文档。欧宝官网下载app

适用于 属性或方法
图像
验证器 ImageValidator

基本用法

类在表单中呈现的属性上最常使用此约束文件类型字段。例如,假设您正在创建一个作者表单,您可以在其中上传作者的“头像”图像。在你的形式中头像财产将是文件类型。的作者类可能看起来如下所示:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/ / src /实体/ Author.php名称空间应用程序实体使用ob娱乐下载组件HttpFoundation文件文件作者受保护的头像公共函数setHeadshot(文件文件= null)->头像=文件;}公共函数getHeadshot()返回->头像;}}

以保证头像文件对象是一个有效的图像,并且它在一定大小之间,添加以下内容:

  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15
/ / src /实体/ Author.php名称空间应用程序实体使用ob娱乐下载组件验证器约束作为断言作者#[断言\图像(minWidth:200maxWidth:400minHeight:200maxHeight:400,)受保护的头像;}

头像属性被验证,以保证它是一个真实的图像,并且它在一定的宽度和高度之间。

你可能还想保证头像图像是方形的。在这种情况下,你可以禁用纵向和横向方向,如下所示的代码:

  • 属性
  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13
/ / src /实体/ Author.php名称空间应用程序实体使用ob娱乐下载组件验证器约束作为断言作者#[断言\图像(allowLandscape:allowPortrait:,)受保护的头像;}

您可以混合使用所有约束选项来创建强大的验证规则。

选项

对象共享该约束的所有选项文件约束。但是,它确实修改了两个默认选项值并添加了几个其他选项。

allowLandscape

类型布尔默认的真正的

如果此选项为false,则图像不能面向横向。

allowLandscapeMessage

类型字符串默认的图像是面向景观的({{width}}x{{height}}px)。不允许使用横向图像

错误信息,如果图像是面向横向的,并且您设置allowLandscape

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前高度
{{width}} 当前宽度

allowPortrait

类型布尔默认的真正的

如果此选项为false,则图像不能面向纵向。

allowPortraitMessage

类型字符串默认的图像是面向纵向的({{width}}x{{height}}px)。不允许使用面向肖像的图像

错误信息,如果图像是纵向的,你设置allowPortrait

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前高度
{{width}} 当前宽度

allowSquare

类型布尔默认的真正的

如果此选项为false,则图像不能是正方形。如果您希望强制使用正方形图像,则将此选项保留为默认值真正的值和设置allowLandscape而且allowPortrait

allowSquareMessage

类型字符串默认的图像是正方形({{width}}x{{height}}px)。正方形图像是不允许的

错误信息,如果图像是方形的,你设置allowSquare

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前高度
{{width}} 当前宽度

corruptedMessage

类型字符串默认的镜像文件损坏。

错误消息时detectCorrupted选项启用,映像已损坏。

此消息没有参数。

detectCorrupted

类型布尔默认的

如果此选项为true,则验证图像内容以确保图像没有损坏。这个验证是用PHP的imagecreatefromstring函数,该函数需要PHP GD扩展启用。

类型数组|字符串

它定义了这个约束的一个或多个验证组。阅读更多验证组

maxHeight

类型整数

如果设置,图像文件的高度必须小于或等于此值(以像素为单位)。

maxHeightMessage

类型字符串默认的图像高度太大({{height}}px)。允许的最大高度为{{max_height}}px。

如果图像的高度超过maxHeight

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前(无效)高度
{{max_height}} 最大允许高度

maxPixels

类型整数

如果设置,图像文件的像素数量必须小于或等于此值。

maxPixelsMessage

类型字符串默认的图像有太多像素({{pixels}}像素)。期望的最大数量为{{max_pixels}}个像素。

如果图像的像素数量超过,则错误消息maxPixels

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前图像高度
{{max_pixels}} 允许的最大像素数
{{pixels}} 当前像素的数量
{{width}} 当前图像宽度

maxRatio

类型浮动

如果已设置,长宽比(宽度/高度)的值必须小于或等于此值。

maxRatioMessage

类型字符串默认的图像比例太大({{ratio}})。允许的最大比率为{{max_ratio}}

如果图像的纵横比超过,则错误消息maxRatio

您可以在此消息中使用以下参数:

参数 描述
{{max_ratio}} 最大所需比率
{{ratio}} 当前(无效)比率

maxWidth

类型整数

如果设置,图像文件的宽度必须小于或等于此值(以像素为单位)。

maxWidthMessage

类型字符串默认的图像宽度太大({{width}}px)。允许的最大宽度为{{max_width}}px。

如果图像的宽度超过maxWidth

您可以在此消息中使用以下参数:

参数 描述
{{max_width}} 最大允许宽度
{{width}} 当前(无效)宽度

mimetype

类型数组字符串默认的图像/ *

控件上的现有映像mime类型列表IANA网站

mimeTypesMessage

类型字符串默认的此文件不是有效的映像。

的所有值mimetype选项是一个子集图像/ *,错误消息将改为:文件的mime类型无效({{type}})。允许的mime类型是{{types}}。

您可以在此消息中使用以下参数:

参数 描述
{{file}} 绝对文件路径
{{name}} 基础文件名
{{type}} 给定文件的MIME类型
{{types}} 允许的MIME类型列表

minHeight

类型整数

如果设置,图像文件的高度必须大于或等于此值(以像素为单位)。

minHeightMessage

类型字符串默认的图像高度太小({{height}}px)。期望的最小高度为{{min_height}}px。

如果图像的高度小于minHeight

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前(无效)高度
{{min_height}} 最低要求高度

minPixels

类型整数

如果设置,图像文件的像素数量必须大于或等于此值。

minPixelsMessage

类型字符串默认的图像像素太少({{pixels}}像素)。期望的最小数量为{{min_pixels}}个像素。

如果图像的像素数小于minPixels

您可以在此消息中使用以下参数:

参数 描述
{{height}} 当前图像高度
{{min_pixels}} 所需像素的最小数量
{{pixels}} 当前像素的数量
{{width}} 当前图像宽度

minRatio

类型浮动

如果已设置,长宽比(宽度/高度)的值必须大于或等于此值。

minRatioMessage

类型字符串默认的图像比例太小({{ratio}})。期望的最小比率为{{min_ratio}}

如果图像的纵横比小于minRatio

您可以在此消息中使用以下参数:

参数 描述
{{min_ratio}} 最低要求比率
{{ratio}} 当前(无效)比率

minWidth

类型整数

如果设置,图像文件的宽度必须大于或等于此值(以像素为单位)。

minWidthMessage

类型字符串默认的图像宽度太小({{width}}px)。最小宽度期望为{{min_width}}px。

如果图像宽度小于minWidth

您可以在此消息中使用以下参数:

参数 描述
{{min_width}} 最小宽度要求
{{width}} 当前(无效)宽度

sizeNotDetectedMessage

类型字符串默认的无法检测到图像的大小。

如果系统无法确定图像的大小,则会显示此错误。只有在设置了至少一个大小限制选项时,才会发生这种情况。

此消息没有参数。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop