Skip to content

Commit 4e2023f

Browse files
committed
optimize validator
1 parent b61760c commit 4e2023f

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

Model/ResourceModel/ActionEntity/Validator.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
use Magento\Framework\Validator\AbstractValidator;
1111
use Magento\Framework\Validator\ValidatorInterface;
12-
use function array_merge_recursive;
1312

1413
final class Validator extends AbstractValidator
1514
{
@@ -26,15 +25,14 @@ public function __construct(
2625

2726
public function isValid($value): bool
2827
{
29-
$isValid = true;
30-
$messages = [];
28+
$this->_clearMessages();
3129

3230
foreach ($this->validators as $validator) {
33-
$isValid = $isValid && $validator->isValid($value);
34-
$messages[] = $validator->getMessages();
31+
if (!$validator->isValid($value)) {
32+
$this->_addMessages($validator->getMessages());
33+
}
3534
}
36-
$this->_addMessages(array_merge_recursive(...$messages));
3735

38-
return $isValid && !$this->hasMessages();
36+
return !$this->hasMessages();
3937
}
4038
}

Model/ResourceModel/ActionEntity/Validator/StateValidator.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ public function __construct(
3333
*/
3434
public function isValid($actionEntity): bool
3535
{
36-
if (!in_array($actionEntity->getState(), array_column($this->actionStates->toOptionArray(), 'value'), true)) {
36+
$this->_clearMessages();
37+
$isValid = in_array(
38+
$actionEntity->getState(),
39+
array_column($this->actionStates->toOptionArray(), 'value'),
40+
true
41+
);
42+
43+
if (!$isValid) {
3744
$this->_addMessages([
3845
'state' => new Phrase('State "%1" does not exists.', [$actionEntity->getState()])
3946
]);
40-
41-
return false;
4247
}
4348

44-
return true;
49+
return $isValid;
4550
}
4651
}

0 commit comments

Comments
 (0)