You are here

function file_validate in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/modules/file/file.module \file_validate()

Checks that a file meets the criteria specified by the validators.

After executing the validator callbacks specified hook_file_validate() will also be called to allow other modules to report errors about the file.

Parameters

\Drupal\file\FileInterface $file: A file entity.

array $validators: An optional, associative array of callback functions used to validate the file. The keys are function names and the values arrays of callback parameters which will be passed in after the file entity. The functions should return an array of error messages; an empty array indicates that the file passed validation. The functions will be called in the order specified.

Return value

array An array containing validation error messages.

See also

hook_file_validate()

3 calls to file_validate()
FileValidationConstraintValidator::validate in core/modules/file/src/Plugin/Validation/Constraint/FileValidationConstraintValidator.php
Checks if the passed value is valid.
file_save_upload in core/modules/file/file.module
Saves file uploads to a new location.
ValidateTest::testCallerValidation in core/modules/file/src/Tests/ValidateTest.php
Test that the validators passed into are checked.

File

core/modules/file/file.module, line 283
Defines a "managed_file" Form API field and a "file" field for Field module.

Code

function file_validate(FileInterface $file, $validators = array()) {

  // Call the validation functions specified by this function's caller.
  $errors = array();
  foreach ($validators as $function => $args) {
    if (function_exists($function)) {
      array_unshift($args, $file);
      $errors = array_merge($errors, call_user_func_array($function, $args));
    }
  }

  // Let other modules perform validation on the new file.
  return array_merge($errors, \Drupal::moduleHandler()
    ->invokeAll('file_validate', array(
    $file,
  )));
}