Laravel Lumen无法验证文件数组

Laravel Lumen无法验证文件数组,laravel,file,validation,multipartform-data,lumen,Laravel,File,Validation,Multipartform Data,Lumen,我使用创建了一个Web服务 我正在发送一个文件数组,但无法使用已知的常用方法验证Laravel/Lumen上的数组: 公共函数createRequest$request{ $this->验证$request[ '电话号码'=>'必填', “纬度”=>“必需”, “经度”=>“必需”, “状态”=>“必需”,规则::在['pre'、'authorized'、'archive']中, “照片”=>“必需”, 'photos.*'=>'mimes:jpg、jpeg、png、bmp' ]; } 它似乎忽

我使用创建了一个Web服务

我正在发送一个文件数组,但无法使用已知的常用方法验证Laravel/Lumen上的数组:

公共函数createRequest$request{ $this->验证$request[ '电话号码'=>'必填', “纬度”=>“必需”, “经度”=>“必需”, “状态”=>“必需”,规则::在['pre'、'authorized'、'archive']中, “照片”=>“必需”, 'photos.*'=>'mimes:jpg、jpeg、png、bmp' ]; } 它似乎忽略了我在这里定义的照片规则。如果我做了一个d$请求->所有我得到的:

这意味着文件到达服务器,但无法验证

以下是我用来上传文件的html代码:

我还使用邮递员对其进行了测试:

正如您所看到的,除了照片之外,其他验证都在正确执行

由于以下几个原因,我需要验证:

如果文件没有上传怎么办? 如果他们的文件超过了某些要求怎么办? 如果它们不在我想要的mimetype中呢? 应该是这样的

public function create(Request $request) {
$this->validate($request, [
    'phone_number' => 'required',
    'latitude' => 'required',
    'longitude' => 'required',
    'status' => 'required', Rule::in(['pre','authorized','archived']),
    'photos.*' => 'required|mimes:jpg,jpeg,png,bmp'
]);

}我只对我添加的新字段进行评论,因为您已经了解其他字段的功能。因此,进行以下编辑

您的表格:


相当混乱。你上传了一些图片…他们出现了。你还期待什么样的验证?如果没有上传呢?如果它们大于某个要求怎么办?如果它们不在我想要的mimetype中呢?有很多假设。。。这就是为什么我需要验证。另外,即使我使用了正确的实现,也不能工作,这不是很奇怪吗?这些是你应该在问题中陈述的假设。你不指望我们能预测你的想法。编辑您的问题,并说明您要实施的所有ifs。那么我们可以从那里开始了。完成了,你能帮我吗?我想你上传的文件与哑剧不匹配,是吗?只是想确定一下:只是试了一下,还是不行。它适用于几乎所有的字段,除了那些用于照片的字段,知道为什么会忽略它们吗?您使用的是Illumb\Http\Request,对吗?有错误信息吗?要测试图像验证是否有效,请尝试上载pdf文件。是的,我正在使用use Illumb\Http\Request刚刚尝试上载pdf,验证有效,但仅适用于MIME。如果我不上传任何文件,它将不会显示一个错误它工作,但我不理解的变化。事实上,结果和我开始时一样。唯一的变化是我关闭了服务器,并打开了服务器
<form class="" action="terrains" method="post" enctype="multipart/form-data">
    <input type="text" name="phone_number" placeholder="Phone Number">
    <input type="text" name="longitude" placeholder="Longitude">
    <input type="text" name="latitude" placeholder="Latitude">
    <input type="text" name="status" placeholder="Status">
    <input type="file" name="photos[]" value="" multiple>
    <input type="submit" name="" value="Send">
</form>
public function create(Request $request) {
    $this->validate($request, [
        'phone_number' => 'required',   // required translates to the fact that the field must not be empty.
        'latitude' => 'required',
        'longitude' => 'required',
        'status' => 'required', Rule::in(['pre','authorized','archived']),
        'photos' => 'required',
        'photos.*' => 'image|max:5000|mimes:jpg,jpeg,png,bmp'    // image = Must be an image, max = The image size must not be bigger than the specified size (5MB)
    ]);
}