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”,则确实会出现验证错误。
为什么不能多次使用?
答案 0 :(得分:1)
虽然它可能部分起作用,但不支持您使用的尾随点语法(并且尾随空格只会使情况变得更糟),但是表单助手将无法基于该名称找到该字段。
您可以使用name
选项为多文件上传HTML输入指定所需的名称,并在其后加上表单帮助程序可以理解的常规字段名称:
echo $this->Form->control('listing_images', [
'type' => 'file',
'name' => 'listing_images[]',
'multiple' => 'multiple',
]);