FileUploadUI. Сделать загрузку файла обязательной
Проект на Yii2. Есть форма, в которой есть блоки, в каждом из которых - возможность загрузки файлов (использую виджет dosamigos\fileupload\FileUploadUI). В некоторых блоках - только один файл в некоторых один или более. В некоторых блоках является обязательным загрузка хотя бы одного файла, в некоторых обязательности нет. Я эти блоки условно назвал группами файлов. Эти группы формируются через админку. Там указывается, являются ли обязательным хотя бы один файл группы или нет, также типы файлов для группы, максимально допустимое количество файлов. Если является обязательным, то параметр minfilescount>0, если не является обязательным, то minfilescount=0. Как реализовать валидацию: 1) являются ли файлы определенной группы (для которой minfilescount>0) обязательными (хотя бы один); 2) валидацию на типы файлов? Помимо файлов в форме есть еще и другие поля, валидация которых прописана в модели. Была мысль формировать в цикле foreach скрытое поле со значением minfilescount, а вот как дальше его использовать в rules... какой-то ступор.
Часть кода формы:
<?php foreach ($articlesfilestypes as $articlesfilestype): ?>
<div id="ftype_<?=$articlesfilestype['id']?>" class="ftype">
<label class="control-label"><?=$articlesfilestype['name_ru'] ?></label>
<?php echo FileUploadUI::widget([
'model' => $model,
'formView' => '@app/views/common/uploadButton',
'downloadTemplateView' => '@app/views/common/downloadTemplate',
'attribute' => 'filename',
'url' => ['/catalog/userarticles/file-upload', 'file_type' => $filetype],
'options' => [
'id' => 'userarticles-filename_'.$articlesfilestype['id'],
],
'clientOptions' => [
'maxFileSize' => 20000000,
'maxNumberOfFiles' => $articlesfilestype['maxfilescount'],
'autoUpload' => 'true',
],
]);
?>
</div>