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

Public Member Functions

 __construct ()
 
 addDataValidators ($dataKey, $validators)
 
 getErrorMessages ($dataKey=null)
 
 validate (\Magento\Framework\DataObject $data)
 

Protected Member Functions

 _setTitleValidators ()
 
 _setTypeValidators ()
 
 _instantiateValidators (array &$validators)
 
 _validateDataItem ($validator, $dataKey, $dataValue)
 

Protected Attributes

 $_dataValidators = []
 
 $_errorMessages
 

Detailed Description

Class Validator

Definition at line 11 of file Validator.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( )

Initialize validators

Definition at line 32 of file Validator.php.

Member Function Documentation

◆ _instantiateValidators()

_instantiateValidators ( array &  $validators)
protected

Instantiate class validator

Parameters
array&$validators
Returns
$this

Definition at line 132 of file Validator.php.

133  {
134  foreach ($validators as &$validator) {
135  if (is_string($validator['class'])) {
136  $validator['class'] = new $validator['class']($validator['options']);
137  $validator['class']->setDisableTranslator(true);
138  }
139  }
140  return $this;
141  }

◆ _setTitleValidators()

_setTitleValidators ( )
protected

Set title validators

Returns
$this

Definition at line 43 of file Validator.php.

44  {
45  $titleValidators = [
46  [
47  'name' => 'not_empty',
48  'class' => 'Zend_Validate_NotEmpty',
49  'break' => true,
50  'options' => [],
51  'message' => (string)new \Magento\Framework\Phrase('Field title can\'t be empty'),
52  ],
53  ];
54 
55  $this->addDataValidators('theme_title', $titleValidators);
56  return $this;
57  }

◆ _setTypeValidators()

_setTypeValidators ( )
protected

Set theme type validators

Returns
$this

Definition at line 64 of file Validator.php.

65  {
66  $typeValidators = [
67  [
68  'name' => 'not_empty',
69  'class' => 'Zend_Validate_NotEmpty',
70  'break' => true,
71  'options' => [],
72  'message' => (string)new \Magento\Framework\Phrase('Theme type can\'t be empty'),
73  ],
74  [
75  'name' => 'available',
76  'class' => 'Zend_Validate_InArray',
77  'break' => true,
78  'options' => [
79  'haystack' => [
83  ],
84  ],
85  'message' => (string)new \Magento\Framework\Phrase('Theme type is invalid')
86  ],
87  ];
88 
89  $this->addDataValidators('type', $typeValidators);
90 
91  return $this;
92  }

◆ _validateDataItem()

_validateDataItem (   $validator,
  $dataKey,
  $dataValue 
)
protected

Validate one data item

Parameters
array$validator
string$dataKey
mixed$dataValue
Returns
bool

Definition at line 151 of file Validator.php.

152  {
153  if ($validator['class'] instanceof \Zend_Validate_NotEmpty && !$validator['class']->isValid(
154  $dataValue
155  ) || !empty($dataValue) && !$validator['class']->isValid(
156  $dataValue
157  )
158  ) {
159  $this->_errorMessages[$dataKey][] = $validator['message'];
160  if ($validator['break']) {
161  return false;
162  }
163  }
164  return true;
165  }

◆ addDataValidators()

addDataValidators (   $dataKey,
  $validators 
)

Add validators

Parameters
string$dataKey
array$validators
Returns
$this

Definition at line 101 of file Validator.php.

102  {
103  if (!isset($this->_dataValidators[$dataKey])) {
104  $this->_dataValidators[$dataKey] = [];
105  }
106  foreach ($validators as $validator) {
107  $this->_dataValidators[$dataKey][$validator['name']] = $validator;
108  }
109  return $this;
110  }

◆ getErrorMessages()

getErrorMessages (   $dataKey = null)

Return error messages for items

Parameters
string | null$dataKey
Returns
array

Definition at line 118 of file Validator.php.

119  {
120  if ($dataKey) {
121  return $this->_errorMessages[$dataKey] ?? [];
122  }
123  return $this->_errorMessages;
124  }

◆ validate()

validate ( \Magento\Framework\DataObject  $data)

Validate all data items

Parameters
\Magento\Framework\DataObject$data
Returns
bool

Definition at line 173 of file Validator.php.

174  {
175  $this->_errorMessages = [];
176  foreach ($this->_dataValidators as $dataKey => $validators) {
177  if (!isset($data[$dataKey])) {
178  continue;
179  }
180 
181  $this->_instantiateValidators($validators);
182  foreach ($validators as $validator) {
183  if (!$this->_validateDataItem($validator, $dataKey, $data[$dataKey])) {
184  break;
185  }
186  }
187  }
188  return empty($this->_errorMessages);
189  }
_validateDataItem($validator, $dataKey, $dataValue)
Definition: Validator.php:151

Field Documentation

◆ $_dataValidators

$_dataValidators = []
protected

Definition at line 19 of file Validator.php.

◆ $_errorMessages

$_errorMessages
protected

Definition at line 27 of file Validator.php.


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