![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-inventory-api/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\InventoryApi\Model; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Validation\ValidationResult; use Magento\Framework\Validation\ValidationResultFactory; use Magento\InventoryApi\Api\Data\StockInterface; /** * Chain of validators. Extension point for new validators via di configuration * * @api */ class StockValidatorChain implements StockValidatorInterface { /** * @var ValidationResultFactory */ private $validationResultFactory; /** * @var StockValidatorInterface[] */ private $validators; /** * @param ValidationResultFactory $validationResultFactory * @param StockValidatorInterface[] $validators * @throws LocalizedException */ public function __construct( ValidationResultFactory $validationResultFactory, array $validators = [] ) { $this->validationResultFactory = $validationResultFactory; foreach ($validators as $validator) { if (!$validator instanceof StockValidatorInterface) { throw new LocalizedException( __('Stock Validator must implement StockValidatorInterface.') ); } } $this->validators = $validators; } /** * @inheritdoc */ public function validate(StockInterface $stock): ValidationResult { $errors = [[]]; foreach ($this->validators as $validator) { $validationResult = $validator->validate($stock); if (!$validationResult->isValid()) { $errors[] = $validationResult->getErrors(); } } $errors = array_merge(...$errors); return $this->validationResultFactory->create(['errors' => $errors]); } }