You are here

public function FileValidationConstraintValidator::validate in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php \Drupal\file\Plugin\Validation\Constraint\FileValidationConstraintValidator::validate()
  2. 9 core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php \Drupal\file\Plugin\Validation\Constraint\FileValidationConstraintValidator::validate()

File

core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php, line 16

Class

FileValidationConstraintValidator
Checks that a file referenced in a file field is valid.

Namespace

Drupal\file\Plugin\Validation\Constraint

Code

public function validate($value, Constraint $constraint) {

  // Get the file to execute validators.
  $target = $value
    ->get('entity')
    ->getTarget();
  if (!$target) {
    return;
  }
  $file = $target
    ->getValue();

  // Get the validators.
  $validators = $value
    ->getUploadValidators();

  // Checks that a file meets the criteria specified by the validators.
  if ($errors = file_validate($file, $validators)) {
    foreach ($errors as $error) {
      $this->context
        ->addViolation($error);
    }
  }
}