Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StatusValidator.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
11 use Magento\Framework\Validation\ValidationResultFactory;
14 
19 {
23  private $validationResultFactory;
24 
28  private $allowedSourceItemStatuses;
29 
34  public function __construct(
35  ValidationResultFactory $validationResultFactory,
36  array $allowedSourceItemStatuses = []
37  ) {
38  $this->validationResultFactory = $validationResultFactory;
39  $this->allowedSourceItemStatuses = $allowedSourceItemStatuses;
40  }
41 
46  {
47  $value = $source->getStatus();
48 
49  if (!is_numeric($value)) {
50  $errors[] = __(
51  '"%field" should be numeric.',
52  ['field' => SourceItemInterface::STATUS]
53  );
54  return $this->validationResultFactory->create(['errors' => $errors]);
55  }
56 
57  $errors = [];
58  if (!in_array((int)$value, array_values($this->allowedSourceItemStatuses), true)) {
59  $errors[] = __(
60  '"%field" should a known status.',
61  ['field' => SourceItemInterface::STATUS]
62  );
63  }
64 
65  return $this->validationResultFactory->create(['errors' => $errors]);
66  }
67 }
__construct(ValidationResultFactory $validationResultFactory, array $allowedSourceItemStatuses=[])
$source
Definition: source.php:23
__()
Definition: __.php:13
$value
Definition: gender.phtml:16
$errors
Definition: overview.phtml:9