Laravel 验证检查数组大小的最小值和最大值
Posted
技术标签:
【中文标题】Laravel 验证检查数组大小的最小值和最大值【英文标题】:Laravel Validation check array size min and max 【发布时间】:2017-07-09 14:31:44 【问题描述】:我只需要在 Laravel 验证中检查一个数组是否包含最小 2 个值和最大 4 个值。是否有任何默认验证规则可用于此? size
元素检查大小是否完全匹配,而其他规则(如 min
和 max
)用于字符串、数字和文件大小。
【问题讨论】:
我不相信目前有这方面的验证规则。但是,您可以创建 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() 查找最小值和最大值?