/** * @param \Magento\Catalog\Model\Product $product * @param bool $isStrictProcessMode * @param \Magento\Bundle\Model\ResourceModel\Option\Collection $optionsCollection * @param int[] $options * @return void * @throws \Magento\Framework\Exception\LocalizedException */ protected function checkIsAllRequiredOptions($product, $isStrictProcessMode, $optionsCollection, $options) { if (!$product->getSkipCheckRequiredOption() && $isStrictProcessMode) { foreach ($optionsCollection->getItems() as $option) { if ($option->getRequired() && !isset($options[$option->getId()])) { throw new \Magento\Framework\Exception\LocalizedException(__('Please select all required options.')); } } } }