Проблема с сообщением о проверке загрузки нескольких файлов - PullRequest
0 голосов
/ 12 января 2019

Торт3.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'
]);

Проблема в том, что при сбое проверки ошибка проверки не отображается под полем. Если файл загружается только в одном файле и имя - list_images, появляется ошибка проверки.

Почему это не работает для нескольких?

1 Ответ

0 голосов
/ 12 января 2019

Хотя это может работать частично, используемый вами синтаксис конечной точки не поддерживается (а пробел в конце только ухудшает ситуацию), помощник по форме не сможет найти поле на основе этого имени.

Вы можете использовать опцию name, чтобы указать имя в конечных скобках, как это требуется для многократного ввода файла HTML, при этом передается обычное имя поля, которое понимает помощник формы:

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