多文件上传验证消息问题

时间:2019-01-12 00:51:03

标签: validation cakephp cakephp-3.x multiple-file-upload

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”,则确实会出现验证错误。

为什么不能多次使用?

1 个答案:

答案 0 :(得分:1)

虽然它可能部分起作用,但不支持您使用的尾随点语法(并且尾随空格只会使情况变得更糟),但是表单助手将无法基于该名称找到该字段。

您可以使用name选项为多文件上传HTML输入指定所需的名称,并在其后加上表单帮助程序可以理解的常规字段名称:

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