Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SourceItemValidatorChain.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 use Magento\Framework\Validation\ValidationResultFactory;
14 
21 {
25  private $validationResultFactory;
26 
30  private $validators;
31 
37  public function __construct(
38  ValidationResultFactory $validationResultFactory,
39  array $validators = []
40  ) {
41  $this->validationResultFactory = $validationResultFactory;
42 
43  foreach ($validators as $validator) {
44  if (!$validator instanceof SourceItemValidatorInterface) {
45  throw new LocalizedException(
46  __('Source item Validator must implement SourceItemValidatorInterface.')
47  );
48  }
49  }
50  $this->validators = $validators;
51  }
52 
57  {
58  $errors = [];
59  foreach ($this->validators as $validator) {
60  $validationResult = $validator->validate($sourceItem);
61 
62  if (!$validationResult->isValid()) {
63  $errors = array_merge($errors, $validationResult->getErrors());
64  }
65  }
66  return $this->validationResultFactory->create(['errors' => $errors]);
67  }
68 }
__()
Definition: __.php:13
__construct(ValidationResultFactory $validationResultFactory, array $validators=[])
$errors
Definition: overview.phtml:9