b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / vendor / magento / framework / Validator /
Filename/home/a/home/dev2.destoffenstraat.com/vendor/magento/framework/Validator/DataObject.php
Size2.47 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified07-Jan-2021 21:08
Last accessed22-Aug-2025 21:36
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

/**
* Validator encapsulates multiple validation rules for \Magento\Framework\DataObject.
* Able to validate both individual fields and a whole object.
*/
namespace Magento\Framework\Validator;

/**
* @api
* @since 100.0.2
*/
class DataObject implements \Zend_Validate_Interface
{
/**
* Validation rules per scope (particular fields or entire entity)
*
* @var \Zend_Validate_Interface[]
*/
private $_rules = [];

/**
* Validation error messages
*
* @var array
*/
private $_messages = [];

/**
* Add rule to be applied to a validation scope
*
* @param \Zend_Validate_Interface $validator
* @param string $fieldName Field name to apply validation to, or empty value to validate entity as a whole
* @return \Magento\Framework\Validator\DataObject
* @api
*/
public function addRule(\Zend_Validate_Interface $validator, $fieldName = '')
{
if (!array_key_exists($fieldName, $this->_rules)) {
$this->_rules[$fieldName] = $validator;
} else {
$existingValidator = $this->_rules[$fieldName];
if (!$existingValidator instanceof \Zend_Validate) {
$compositeValidator = new \Zend_Validate();
$compositeValidator->addValidator($existingValidator);
$this->_rules[$fieldName] = $compositeValidator;
}
$this->_rules[$fieldName]->addValidator($validator);
}
return $this;
}

/**
* Check whether the entity is valid according to defined validation rules
*
* @param \Magento\Framework\DataObject $entity
* @return bool
*
* @throws \Exception
* @api
*/
public function isValid($entity)
{
$this->_messages = [];
/** @var $validator \Zend_Validate_Interface */
foreach ($this->_rules as $fieldName => $validator) {
$value = $fieldName ? $entity->getDataUsingMethod($fieldName) : $entity;
if (!$validator->isValid($value)) {
$this->_messages = array_merge($this->_messages, array_values($validator->getMessages()));
}
}
return empty($this->_messages);
}

/**
* Return error messages (if any) after the last validation
*
* @return array
*/
public function getMessages()
{
return $this->_messages;
}
}