![]() 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/cartforge.co/vendor/magento/module-sales/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model; use Magento\Framework\Exception\ConfigurationMismatchException; use Magento\Framework\ObjectManagerInterface; /** * Class Validator * * @internal */ class Validator { /** * @var ObjectManagerInterface */ private $objectManager; /** * @var ValidatorResultInterfaceFactory */ private $validatorResultFactory; /** * Validator constructor. * * @param ObjectManagerInterface $objectManager * @param ValidatorResultInterfaceFactory $validatorResult */ public function __construct( ObjectManagerInterface $objectManager, ValidatorResultInterfaceFactory $validatorResult ) { $this->objectManager = $objectManager; $this->validatorResultFactory = $validatorResult; } /** * @param object $entity * @param ValidatorInterface[] $validators * @param object|null $context * @return ValidatorResultInterface * @throws ConfigurationMismatchException */ public function validate($entity, array $validators, $context = null) { $messages = []; $validatorArguments = []; if ($context !== null) { $validatorArguments['context'] = $context; } foreach ($validators as $validatorName) { $validator = $this->objectManager->create($validatorName, $validatorArguments); if (!$validator instanceof ValidatorInterface) { throw new ConfigurationMismatchException( __('The "%1" validator is not an instance of the general validator interface.', $validatorName) ); } $messages = array_merge($messages, $validator->validate($entity)); } $validationResult = $this->validatorResultFactory->create(); foreach ($messages as $message) { $validationResult->addMessage($message); } return $validationResult; } }