多文件上传验证消息问题

Multiple File Upload Validation Message Problem

Cake3.6:

我正在验证允许上传多个文件的表单域:

$this->Form->input('listing_images. ', ['type' => 'file', 'multiple' => 'multiple']);

我有一个自定义验证提供程序可以正确验证多个图像:

$validator ->add('listing_images', 'listing_images', [
      'rule' => [
           'dimensions', [
                'min' => ['w' => 100, 'h' => 100],
                'max' => ['w' => 1600, 'h' => 1600]
           ]
       ],
       'message' => 'Maximum image size is 1600 x 1600 pixels',
       'provider' => 'custom'
]);

问题是当验证失败时,验证错误不会出现在字段下方。如果使文件仅上传单个文件且名称为 'listing_images',则会出现验证错误。

为什么它不适用于多个?

虽然它可能部分工作,但不支持您使用的尾随点语法(尾随 space 只会让事情变得更糟),表单助手将无法找到基于字段的在那个名字上。

您可以使用 name 选项指定带有尾随括号的名称,以满足多文件上传 HTML 输入的要求,同时传递表单助手理解的常规字段名称:

echo $this->Form->control('listing_images', [
    'type' => 'file',
    'name' => 'listing_images[]',
    'multiple' => 'multiple',
]);