四个 Laravel 图片验证规则
Laravel 验证机制有很多各种各样的规则。让我们选择可以应用于图形文件的。
规则 1. image
可能是最简单的一种:
public function rules()
{
return [
'uploaded_photo' => 'image',
];
}
最常见的问题可能是 什么是图像 ?
文档说明:验证中的文件必须是图像 (jpeg、png、bmp、gif 或 svg)
规则 2. mimes
如果您觉得上面列出的图像扩展名太多了,您可以将它们限制为特定的 JPG / PNG,例如:
public function rules()
{
return [
'photo' => 'mimes:jpeg,png',
];
}
即使您只需要指定扩展名,这个规则实际上是通过读取文件的内容并猜测其 MIME 类型来验证文件的 MIME 类型。这就是为什么 jpeg 对于 MIME 类型 image/jpeg 进行验证就足够了,其中还包括 .jpg 扩展名。
在此处了解更多关于 MIME 类型的信息。
规则3.大小
该规则很有趣,因为它适用于字符串和文件字段。如果是字符串,则以字符为单位验证长度,但是如果是上传的文件,则以文件大小(以千字节为单位)进行验证。
public function rules()
{
return [
'photo' => 'image|size:1024', // 1 MB
];
}
规则4.尺寸
还有更具体的验证,您可以限制图像的最小/最大宽度/高度。
public function rules()
{
return [
'photo' => 'dimensions:min_width=100,min_height=100,max_width=1000,max_height=1000',
];
}
不仅如此,您还可以指定一个比率,例如 3/2,它将覆盖 600×400 和 300×200等:
public function rules()
{
return [
'photo' => 'dimensions:ratio=3/2',
];
}
最后,你甚至可以结合使用 width + height + ratio,这会稍微复杂一些:
use Illuminate.alidation.ule;
Validator::make($data, [
'avatar' => [
'required',
Rule::dimensions()->maxWidth(1000)->ratio(3/2),
],
]);
因此,这是四个易于应用的规则。在[官方文档]中可以找到更多验证规则 in the official documentation.
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
规则 3. 大小 size:1024 返回提示 The image must be 1024 kilobytes. 必须等于1024kb..... 我想问一下小于怎么写。