Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
Validator Class Reference

Public Member Functions

 __construct (ObjectManagerInterface $objectManager, ValidatorResultInterfaceFactory $validatorResult)
 
 validate ($entity, array $validators, $context=null)
 

Detailed Description

Class Validator

Definition at line 17 of file Validator.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ObjectManagerInterface  $objectManager,
ValidatorResultInterfaceFactory  $validatorResult 
)

Validator constructor.

Parameters
ObjectManagerInterface$objectManager
ValidatorResultInterfaceFactory$validatorResult

Definition at line 35 of file Validator.php.

38  {
39  $this->objectManager = $objectManager;
40  $this->validatorResultFactory = $validatorResult;
41  }
$objectManager
Definition: bootstrap.php:17

Member Function Documentation

◆ validate()

validate (   $entity,
array  $validators,
  $context = null 
)
Parameters
object$entity
ValidatorInterface[]$validators
object | null$context
Returns
ValidatorResultInterface
Exceptions
ConfigurationMismatchException

Definition at line 50 of file Validator.php.

51  {
52  $messages = [];
53  $validatorArguments = [];
54  if ($context !== null) {
55  $validatorArguments['context'] = $context;
56  }
57 
58  foreach ($validators as $validatorName) {
59  $validator = $this->objectManager->create($validatorName, $validatorArguments);
60  if (!$validator instanceof ValidatorInterface) {
61  throw new ConfigurationMismatchException(
62  __('The "%1" validator is not an instance of the general validator interface.', $validatorName)
63  );
64  }
65  $messages = array_merge($messages, $validator->validate($entity));
66  }
67  $validationResult = $this->validatorResultFactory->create();
68  foreach ($messages as $message) {
69  $validationResult->addMessage($message);
70  }
71 
72  return $validationResult;
73  }
__()
Definition: __.php:13
$message
$entity
Definition: element.phtml:22

The documentation for this class was generated from the following file: