| Current Path : /var/www/html/vendor/magento/module-inventory/Model/Source/Validator/ |
| Current File : /var/www/html/vendor/magento/module-inventory/Model/Source/Validator/PostcodeValidator.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Inventory\Model\Source\Validator;
use Magento\Framework\Validation\ValidationResult;
use Magento\Framework\Validation\ValidationResultFactory;
use Magento\Inventory\Model\Validators\NotAnEmptyString;
use Magento\InventoryApi\Api\Data\SourceInterface;
use Magento\InventoryApi\Model\SourceValidatorInterface;
/**
* Check that postcode is valid
*/
class PostcodeValidator implements SourceValidatorInterface
{
/**
* @var ValidationResultFactory
*/
private $validationResultFactory;
/**
* @var NotAnEmptyString
*/
private $notAnEmptyString;
/**
* @param ValidationResultFactory $validationResultFactory
* @param NotAnEmptyString $notAnEmptyString
*/
public function __construct(
ValidationResultFactory $validationResultFactory,
NotAnEmptyString $notAnEmptyString
) {
$this->validationResultFactory = $validationResultFactory;
$this->notAnEmptyString = $notAnEmptyString;
}
/**
* @inheritdoc
*/
public function validate(SourceInterface $source): ValidationResult
{
$value = (string)$source->getPostcode();
$errors = [
$this->notAnEmptyString->execute(SourceInterface::POSTCODE, $value)
];
$errors = !empty($errors) ? array_merge(...$errors) : $errors;
return $this->validationResultFactory->create(['errors' => $errors]);
}
}