Laravel 验证检查数组大小的最小值和最大值

Posted

技术标签:

【中文标题】Laravel 验证检查数组大小的最小值和最大值【英文标题】:Laravel Validation check array size min and max 【发布时间】:2017-07-09 14:31:44 【问题描述】:

我只需要在 Laravel 验证中检查一个数组是否包含最小 2 个值和最大 4 个值。是否有任何默认验证规则可用于此? size 元素检查大小是否完全匹配,而其他规则(如 minmax)用于字符串、数字和文件大小。

【问题讨论】:

我不相信目前有这方面的验证规则。但是,您可以创建 a custom validation rule。 你用的是哪个 laravel 版本? 我使用的是 Laravel 5.2 嗯,好的。您需要进行自己的验证器检查。默认大小验证器只检查值而不是最小/最大值。 【参考方案1】:

您可以使用between。 . https://laravel.com/docs/5.2/validation#rule-between

例如:

'users' => 'required|array|between:2,4'

文档中没有明确说明,但它适用于数组,就像size

更多详情,请阅读validating array lengths in Laravel

【讨论】:

现在它也在文档 5.6 中【参考方案2】:

有点晚了:

return [
    "ticket_photo" => ["required","array","min:2","max:4"], // validate an array contains minimum 2 elements and maximum 4 
    "ticket_photo.*" => ["required","mimes:jpeg,jpg,png,gif"], // and each element must be a jpeg or jpg or png or gif file 
];

laravel 5.6

【讨论】:

以上是关于Laravel 验证检查数组大小的最小值和最大值的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:使用 reduce() 查找最小值和最大值?

获取Laravel中每个不同项目名称的最小值和最大值的集合项

使用带有最小值和最大值的 jQuery 验证体验下拉列表

jQuery通过验证设置电话号码的最小值和最大值

Config 设置窗口大小 Kivy 的最小值和最大值

在数组中查找最小值和最大值