Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Validator.php
Go to the documentation of this file.
1 <?php
7 namespace Magento\Framework;
8 
15 class Validator extends \Magento\Framework\Validator\AbstractValidator
16 {
22  protected $_validators = [];
23 
31  public function addValidator(
32  \Magento\Framework\Validator\ValidatorInterface $validator,
33  $breakChainOnFailure = false
34  ) {
35  if (!$validator->hasTranslator()) {
36  $validator->setTranslator($this->getTranslator());
37  }
38  $this->_validators[] = [
39  'instance' => $validator,
40  'breakChainOnFailure' => (bool)$breakChainOnFailure,
41  ];
42  return $this;
43  }
44 
51  public function isValid($value)
52  {
53  $result = true;
54  $this->_clearMessages();
55 
57  foreach ($this->_validators as $element) {
58  $validator = $element['instance'];
59  if ($validator->isValid($value)) {
60  continue;
61  }
62  $result = false;
63  $this->_addMessages($validator->getMessages());
64  if ($element['breakChainOnFailure']) {
65  break;
66  }
67  }
68 
69  return $result;
70  }
71 
78  public function setTranslator($translator = null)
79  {
80  foreach ($this->_validators as $validator) {
81  $validator['instance']->setTranslator($translator);
82  }
83  return parent::setTranslator($translator);
84  }
85 }
addValidator(\Magento\Framework\Validator\ValidatorInterface $validator, $breakChainOnFailure=false)
Definition: Validator.php:31
$value
Definition: gender.phtml:16
setTranslator($translator=null)
Definition: Validator.php:78
$element
Definition: element.phtml:12