Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MinimumAmountValidationRule.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
10 use Magento\Framework\Validation\ValidationResultFactory;
13 
18 {
22  private $generalMessage;
23 
27  private $amountValidationMessage;
28 
32  private $validationResultFactory;
33 
39  public function __construct(
40  ValidationMessage $amountValidationMessage,
41  ValidationResultFactory $validationResultFactory,
42  string $generalMessage = ''
43  ) {
44  $this->amountValidationMessage = $amountValidationMessage;
45  $this->validationResultFactory = $validationResultFactory;
46  $this->generalMessage = $generalMessage;
47  }
48 
53  public function validate(Quote $quote): array
54  {
55  $validationErrors = [];
56  $validationResult = $quote->validateMinimumAmount($quote->getIsMultiShipping());
57  if (!$validationResult) {
58  if (!$this->generalMessage) {
59  $this->generalMessage = $this->amountValidationMessage->getMessage();
60  }
61  $validationErrors = [__($this->generalMessage)];
62  }
63 
64  return [$this->validationResultFactory->create(['errors' => $validationErrors])];
65  }
66 }
$quote
__()
Definition: __.php:13
__construct(ValidationMessage $amountValidationMessage, ValidationResultFactory $validationResultFactory, string $generalMessage='')