From 2f611ebdeca3493ddc3a09d5eda52e42bb1f65ee Mon Sep 17 00:00:00 2001 From: Rob Ristroph Date: Tue, 14 Jul 2026 17:52:47 -0500 Subject: [PATCH] WS-553: Modernized validation code for file attachments to requests on rest api. --- .../rest/resource/WebformSubmissionResource.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docroot/modules/custom/foia_api/src/Plugin/rest/resource/WebformSubmissionResource.php b/docroot/modules/custom/foia_api/src/Plugin/rest/resource/WebformSubmissionResource.php index 6b87438d6..674ac1f66 100644 --- a/docroot/modules/custom/foia_api/src/Plugin/rest/resource/WebformSubmissionResource.php +++ b/docroot/modules/custom/foia_api/src/Plugin/rest/resource/WebformSubmissionResource.php @@ -5,7 +5,9 @@ use Drupal\Component\Utility\Bytes; use Drupal\Component\Utility\Environment; use Drupal\Core\File\FileSystemInterface; +use Drupal\Core\File\FileValidatorInterface; use Drupal\file\Entity\File; +use Drupal\file\FileInterface; use Drupal\file\FileUsage\FileUsageInterface; use Drupal\file_entity\Entity\FileEntity; use Drupal\foia_webform\AgencyLookupServiceInterface; @@ -609,14 +611,17 @@ protected function validateFileEntities(WebformInterface $webform, array $filesB } $fileExtensions = $element['#file_extensions'] ?? $defaultProperties['file_extensions']; - $validators['file_validate_size'] = [$maxFileSize]; - $validators['file_validate_extensions'] = [$fileExtensions]; + $validators = [ + 'FileExtension' => ['extensions' => $fileExtensions], + 'FileSizeLimit' => ['fileLimit' => $maxFileSize], + ]; + $file_validator = \Drupal::service('file.validator'); /** @var \Drupal\file_entity\FileEntityInterface $file */ foreach ($files as $file) { $fileSizes[] = $file->getSize(); - $validationErrors = file_validate($file, $validators); - if (!empty($validationErrors)) { - $errors[$fieldName][] = $validationErrors; + $validationErrors = $file_validator->validate($file, $validators); + foreach ($validationErrors as $validationError) { + $errors[$fieldName][] = $validationError->getMessage(); } } }