Example #1
0
 /**
  * @param File $element
  * @param ServiceLocatorInterface $services
  * @return File
  */
 protected function configureElement(File $element, ServiceLocatorInterface $services)
 {
     /* @var $options ModuleOptionsInterface */
     $options = $services->get(ModuleOptions::class);
     $element->setAttributes(['multiple' => $options->getAllowMultipleUpload()]);
     $element->setOptions(['label' => $options->getUploadFileLabel(), 'target_class' => $options->getClassName()]);
     $inputSpec = $element->getInputSpecification();
     $inputSpec['filters'][] = ['name' => 'FileUpload'];
     $inputSpec['validators'][] = ['name' => 'FileUploadFile'];
     if ($options->getUploadFileSizes()) {
         $inputSpec['validators'][] = ['name' => 'FileSize', 'options' => $options->getUploadFileSizes()];
     }
     if ($options->getUploadFileCounts()) {
         $inputSpec['validators'][] = ['name' => 'FileCount', 'options' => $options->getUploadFileCounts()];
     }
     if ($options->getUploadFileMimeTypes()) {
         $inputSpec['validators'][] = ['name' => 'FileMimeType', 'options' => $options->getUploadFileMimeTypes()];
     }
     $element->setInputSpecification($inputSpec);
     return $element;
 }