Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BulkInventoryTransferValidatorChain.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 use Magento\Framework\Validation\ValidationResultFactory;
13 
20 {
24  private $validationResultFactory;
25 
29  private $validators;
30 
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 BulkInventoryTransferValidatorInterface) {
45  throw new LocalizedException(
46  __('Source Validator must implement BulkInventoryTransferValidatorInterface.')
47  );
48  }
49  }
50  $this->validators = $validators;
51  }
52 
56  public function validate(array $skus, string $originSource, string $destinationSource): ValidationResult
57  {
58  $errors = [];
59  foreach ($this->validators as $validator) {
60  $validationResult = $validator->validate($skus, $originSource, $destinationSource);
61 
62  if (!$validationResult->isValid()) {
63  $errors = array_merge($errors, $validationResult->getErrors());
64  }
65  }
66  return $this->validationResultFactory->create(['errors' => $errors]);
67  }
68 }
__construct(ValidationResultFactory $validationResultFactory, array $validators=[])
__()
Definition: __.php:13
validate(array $skus, string $originSource, string $destinationSource)
foreach($websiteCodes as $websiteCode) $skus
$errors
Definition: overview.phtml:9