Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel中限制通过POST请求提交的数组的大小?_Php_Laravel - Fatal编程技术网

Php 如何在Laravel中限制通过POST请求提交的数组的大小?

Php 如何在Laravel中限制通过POST请求提交的数组的大小?,php,laravel,Php,Laravel,我希望使用POST请求体中的对象数组处理POST请求,如下所示: [ {“路径”:“/./../”,…}, {“路径”:“/./../”,…}, {“路径”:“/./../”,…}, ... ] 我还没有找到任何方法来设置验证规则来限制这样一个数组的最大长度,该数组位于POST请求主体的根中,例如最多100个对象 我在这里看到的唯一相关解决方案是通过POST\u max\u size选项限制PHP帖子大小,但是,这不是我想要的。有人知道如何为这种情况设置适当的验证规则吗 我使用的是Larave

我希望使用POST请求体中的对象数组处理POST请求,如下所示:

[
{“路径”:“/./../”,…},
{“路径”:“/./../”,…},
{“路径”:“/./../”,…},
...
]
我还没有找到任何方法来设置验证规则来限制这样一个数组的最大长度,该数组位于POST请求主体的根中,例如最多100个对象

我在这里看到的唯一相关解决方案是通过
POST\u max\u size
选项限制PHP帖子大小,但是,这不是我想要的。有人知道如何为这种情况设置适当的验证规则吗


我使用的是Laravel8。

为了扩展Derek已经给出的答案,您可以使用LaravelValidator来验证您的请求。此验证器还包含最小和最大大小选项


有关更多信息,请参见您可以在laravel中定义您的自定义规则:

php artisan make:rule ArrayCheck
1-首先使用artisan命令创建自定义规则

php artisan make:rule ArrayCheck
2-转到app/Rules文件夹并编辑ArrayCheck.php

php artisan make:rule ArrayCheck

方向不对,请不要使用
post\u max\u size
。文章中的内容由您在表单中放置的内容或为ajax调用构建数据的方式控制。我很想说,如果你不构建它,它们就不会出现。你可以使用
“arr_param”=>[“required”,“array”,“min:2”,“max:4”],//验证一个数组至少包含2个元素,最多包含4个
@DerekPollard,但这并不能阻止发送1000个事件。我以为这就是问题所在about@RiggsFolly确切地谢谢你的回答。我知道验证规则。关键是没有验证规则来验证POST正文根中的数组。至少我还没有找到。只是更新了问题以反映这一想法。如果我很了解$request->all()的大小;?不仅仅是
$request->all()的大小,但请求正文根目录中的数组大小。谢谢您的回答。请告诉我,我应该将这个新规则应用到我的问题示例中的哪个字段?当
size
规则已经存在时,为什么要这样做?