图像

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

图像

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

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

2.4

从Symfoob娱乐下载ny 2.4开始,您还可以根据图像纵横比(定义为宽度/高度),并选择性地允许正方形、横向和纵向图像方向。

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

基本用法

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

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

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

  • YAML
  • 注释
  • XML
  • PHP
1 2 3 4 5 6 7 8 9
# src / Acme / BlogBundle /资源/ config / validation.ymlAcme \ BlogBundle \实体\作者属性:头像:-图片:minWidth:200maxWidth:400minHeight:200maxHeight:400

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

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

  • YAML
  • 注释
  • XML
  • PHP
1 2 3 4 5 6 7
# src / Acme / BlogBundle /资源/ config / validation.ymlAcme \ BlogBundle \实体\作者属性:头像:-图片:allowLandscape:allowPortrait:

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

选项

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

mimetype

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

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

mimeTypesMessage

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

minWidth

类型整数

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

maxWidth

类型整数

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

minHeight

类型整数

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

maxHeight

类型整数

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

maxRatio

类型浮动

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

minRatio

类型浮动

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

allowSquare

类型布尔默认的真正的

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

allowLandscape

类型布尔默认的真正的

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

allowPortrait

类型布尔默认的真正的

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

sizeNotDetectedMessage

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

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

maxWidthMessage

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

如果图像的宽度超过maxWidth

minWidthMessage

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

如果图像宽度小于minWidth

maxHeightMessage

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

如果图像的高度超过maxHeight

minHeightMessage

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

如果图像的高度小于minHeight

maxRatioMessage

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

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

minRatioMessage

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

如果图像的纵横比小于minRatio

allowSquareMessage

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

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

allowLandscapeMessage

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

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

allowPortraitMessage

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

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

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。