Intereting Posts
Можно ли разместить глистов-бутстрапов внутри {{Form :: submit ('')}} – Laravel Перезагрузите данные MySQL внутри DIV с помощью Ajax Контактная форма отправляет электронную почту, но не приходят письма Использование плагина проверки jQuery для проверки того, выбран ли один или несколько флажков (с разными именами) Возможно, транзакция PDO через несколько баз данных? Получите идентификатор определенного URL-адреса внутри сообщения и сохраните его в переменной Почему strtotime дает разные результаты в разных часовых поясах? Поставщик услуг Laravel, не привязанный к контракту Безопасная загрузка файла в PHP, запрет пользователя без разрешения PHP Альтернативные структуры управления, любые недостатки? Область множественных файлов и пространств имен javascript сделать форму dissapear после отправки как передать переменную JavaScript в функцию php Как заставить определенную версию TLS в контексте потока PHP для транспорта ssl: //? Обновление и удаление связанных моделей (реляционных таблиц) в Yii

CakePHP: несколько наборов полей для загрузки файлов необходимо автоматически

Простая проблема, но я не могу найти свое решение. У меня есть поле загрузки галереи с несколькими файлами, например:

echo $this->Form->input('Item.gallery.', array( 'label' => __('Gallery'), 'type' => 'file', 'multiple' => 'multiple', )); 

И я получил правила проверки следующим образом:

 'gallery' => array( 'fileSize' => array( 'rule' => array('fileSize', '<=', '1MB'), 'message' => 'Image must be less than 1MB', 'allowEmpty' => true, 'last' => false, ), 'extension' => array( 'rule' => array('extension', array('gif', 'jpeg', 'png', 'jpg')), 'message' => 'Invalid image', ), ), 

Если я помещаю одно поле для загрузки файла, то это не требуется. Когда я устанавливаю его в несколько, это необходимо, и я не хочу, чтобы это было. Как мне это сделать?

РЕДАКТИРОВАТЬ:

Уловка устанавливала значение 'required' => false в параметрах поля ввода в файле .ctp:

 echo $this->Form->input('Item.gallery.', array( 'label' => __('Gallery'), 'type' => 'file', 'multiple' => 'multiple', 'required' => false, )); 

Правила проверки в модели остались прежними.

Попробуйте добавить 'novalidate' в ваш массив параметров в $this->Form->create(); , Это отключает проверку HTML5.

Я ожидаю, что это сработает, но если вы не попробуете добавить 'required' => false к вашим правилам проверки (идет по полю, а не по правилам, поэтому вам нужно только его в одном из правил не для обоих)