33 private $allowedCountryReader;
38 private $minimumAmountMessage;
43 private $quoteValidationRule;
54 OrderAmountValidationMessage $minimumAmountMessage =
null,
58 ->get(AllowedCountries::class);
60 ->get(OrderAmountValidationMessage::class);
62 ->get(QuoteValidationRuleInterface::class);
76 $quote->addMessage(
__(
'This item price or quantity is not valid for checkout.'));
91 if (
$quote->getHasError()) {
96 foreach ($this->quoteValidationRule->validate(
$quote) as $validationResult) {
97 if ($validationResult->isValid()) {
101 $messages = $validationResult->getErrors();
102 $defaultMessage = array_shift($messages);
103 if ($defaultMessage && !empty($messages)) {
104 $defaultMessage .=
' %1';
106 if ($defaultMessage) {
123 function (
Error $error) {
129 return implode(PHP_EOL,
$errors);
validateBeforeSubmit(QuoteEntity $quote)
const MAXIMUM_AVAILABLE_NUMBER
validateQuoteAmount(QuoteEntity $quote, $amount)
__construct(AllowedCountries $allowedCountryReader=null, OrderAmountValidationMessage $minimumAmountMessage=null, QuoteValidationRuleInterface $quoteValidationRule=null)