图像
编辑本页- 基本用法
- 选项
- allowLandscape
- allowLandscapeMessage
- allowPortrait
- allowPortraitMessage
- allowSquare
- allowSquareMessage
- corruptedMessage
- detectCorrupted
- 组
- maxHeight
- maxHeightMessage
- maxPixels
- maxPixelsMessage
- maxRatio
- maxRatioMessage
- maxWidth
- maxWidthMessage
- mimetype
- mimeTypesMessage
- minHeight
- minHeightMessage
- minPixels
- minPixelsMessage
- minRatio
- minRatioMessage
- minWidth
- minWidthMessage
- sizeNotDetectedMessage
图像
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:假,)受保护的$头像;}
您可以混合使用所有约束选项来创建强大的验证规则。
选项
对象共享该约束的所有选项文件约束。但是,它确实修改了两个默认选项值并添加了几个其他选项。
allowLandscapeMessage
类型:字符串
默认的:图像是面向景观的({{width}}x{{height}}px)。不允许使用横向图像
错误信息,如果图像是面向横向的,并且您设置allowLandscape来假
.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前高度 |
{{width}} |
当前宽度 |
allowPortraitMessage
类型:字符串
默认的:图像是面向纵向的({{width}}x{{height}}px)。不允许使用面向肖像的图像
错误信息,如果图像是纵向的,你设置allowPortrait来假
.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前高度 |
{{width}} |
当前宽度 |
allowSquare
类型:布尔
默认的:真正的
如果此选项为false,则图像不能是正方形。如果您希望强制使用正方形图像,则将此选项保留为默认值真正的
值和设置allowLandscape而且allowPortrait既假
.
allowSquareMessage
类型:字符串
默认的:图像是正方形({{width}}x{{height}}px)。正方形图像是不允许的
错误信息,如果图像是方形的,你设置allowSquare来假
.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前高度 |
{{width}} |
当前宽度 |
detectCorrupted
类型:布尔
默认的:假
如果此选项为true,则验证图像内容以确保图像没有损坏。这个验证是用PHP的imagecreatefromstring函数,该函数需要PHP GD扩展启用。
maxHeightMessage
类型:字符串
默认的:图像高度太大({{height}}px)。允许的最大高度为{{max_height}}px。
如果图像的高度超过maxHeight.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前(无效)高度 |
{{max_height}} |
最大允许高度 |
maxPixelsMessage
类型:字符串
默认的:图像有太多像素({{pixels}}像素)。期望的最大数量为{{max_pixels}}个像素。
如果图像的像素数量超过,则错误消息maxPixels.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前图像高度 |
{{max_pixels}} |
允许的最大像素数 |
{{pixels}} |
当前像素的数量 |
{{width}} |
当前图像宽度 |
maxRatioMessage
类型:字符串
默认的:图像比例太大({{ratio}})。允许的最大比率为{{max_ratio}}
如果图像的纵横比超过,则错误消息maxRatio.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{max_ratio}} |
最大所需比率 |
{{ratio}} |
当前(无效)比率 |
maxWidthMessage
类型:字符串
默认的:图像宽度太大({{width}}px)。允许的最大宽度为{{max_width}}px。
如果图像的宽度超过maxWidth.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{max_width}} |
最大允许宽度 |
{{width}} |
当前(无效)宽度 |
mimeTypesMessage
类型:字符串
默认的:此文件不是有效的映像。
的所有值mimetype选项是一个子集图像/ *
,错误消息将改为:文件的mime类型无效({{type}})。允许的mime类型是{{types}}。
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{file}} |
绝对文件路径 |
{{name}} |
基础文件名 |
{{type}} |
给定文件的MIME类型 |
{{types}} |
允许的MIME类型列表 |
minHeightMessage
类型:字符串
默认的:图像高度太小({{height}}px)。期望的最小高度为{{min_height}}px。
如果图像的高度小于minHeight.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前(无效)高度 |
{{min_height}} |
最低要求高度 |
minPixelsMessage
类型:字符串
默认的:图像像素太少({{pixels}}像素)。期望的最小数量为{{min_pixels}}个像素。
如果图像的像素数小于minPixels.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{height}} |
当前图像高度 |
{{min_pixels}} |
所需像素的最小数量 |
{{pixels}} |
当前像素的数量 |
{{width}} |
当前图像宽度 |
minRatioMessage
类型:字符串
默认的:图像比例太小({{ratio}})。期望的最小比率为{{min_ratio}}
如果图像的纵横比小于minRatio.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{min_ratio}} |
最低要求比率 |
{{ratio}} |
当前(无效)比率 |
minWidthMessage
类型:字符串
默认的:图像宽度太小({{width}}px)。最小宽度期望为{{min_width}}px。
如果图像宽度小于minWidth.
您可以在此消息中使用以下参数:
参数 | 描述 |
---|---|
{{min_width}} |
最小宽度要求 |
{{width}} |
当前(无效)宽度 |
sizeNotDetectedMessage
类型:字符串
默认的:无法检测到图像的大小。
如果系统无法确定图像的大小,则会显示此错误。只有在设置了至少一个大小限制选项时,才会发生这种情况。
此消息没有参数。