Following up on the CS-Cart forum thread: Required Options Not Working Again — Nova Theme — CS-Cart v4.20.1

Fig. 1 — A required "Memory capacity" Select box showing the restored empty "Please, select one" state, and a required "Choose a free game" option showing the "this field is mandatory" message after an attempted Add to cart.
Required Options Fix
The module is available in Russian and English.
Since CS-Cart 4.16.2, required Select/Radio options in Simultaneous apply order silently pre-select their first variant. The "required" asterisk still shows, but nothing actually stops checkout — the order goes through with whatever option happened to be listed first, price modifier included, with zero acknowledgement from the shopper. The customer may not even notice they "chose" something and paid for it.
We've restored real validation — on the storefront and on the server — without touching a single core file.
What the module does
- Removes the auto-selection. Required Select/Radio options show an empty "Please, select one" entry; trying to proceed without a choice triggers the standard "this field is mandatory" error.
- Validates on the server. Even if a request reaches the cart without going through the options form — for example, via the "quick add to cart" icon on category pages, which never shows an options form at all — a product missing a required option value is rejected.
Non-required options are left completely untouched: defaults, price previews, and image-swap-on-selection behavior work exactly as they did before installing the module.
Why a dedicated module instead of the official workaround
CS-Cart's own forum staff have acknowledged this regression across versions 4.16.2 through 4.20.1 and offered a single workaround: commenting out a block of code in core's fn.options.php. That block, however, is also responsible for pre-filling every other option with a sensible default — not just required ones — so removing it breaks things that depend on it, such as image swapping on selection, price previews on page load, and the category-page quick add-to-cart behavior.
Our module targets only the options that are actually required, leaving every optional Select/Radio/Checkbox option unaffected. We've also added the hard, server-side check that never existed for these option types in the first place — core has only ever enforced "required" for File-type options at the add-to-cart step.
Table of contents
- Installation and initial setup
- Settings reference
- Verifying the fix on your storefront
- Scope and compatibility
- Known limitations
1. Installation and initial setup
Go to Modules → Manage Modules → Install module, upload the module archive, and activate it. The module has no dedicated admin screen — once active, the fix applies immediately to every product with a required Select box or Radio group option in Simultaneous apply order. All configuration lives on the module's own Settings tab.

Fig. 2 — The module shown as Active in Modules → Manage Modules, right after installation.
2. Settings reference
The table below lists every setting on the module's Settings tab.
| Setting | What it does |
|---|---|
| Apply hard validation to | Choose whether the fix covers Select box & Radio group only (default, matches the exact bug reported on the CS-Cart forum) or also includes Checkbox-type required options. |
| Log blocked add-to-cart attempts | When enabled, every time the module blocks an add-to-cart because a required option was skipped, an entry is written to CS-Cart's own Activity/event log — useful for spotting a broken theme customization or a bot hammering the cart endpoint. |


Fig. 3 — The module's Settings tab with both options visible.

Fig. 4 — The "Settings: Logging" tab with the module's logging setting.
3. Verifying the fix on your storefront
After activating the module, open any product that has a required Select box or Radio group option in Simultaneous mode and confirm:
- The option shows an empty "Please, select one" entry instead of a pre-selected variant.
- Clicking Add to cart without choosing a real value shows the "this field is mandatory" message and does not add the product.
- Non-required options on the same product still show their usual default variant and price preview, unaffected.

Fig. 5 — Side-by-side: the product page before installing the module (option silently pre-selected) versus after (empty placeholder, mandatory message shown).
To confirm the server-side block also covers the category-page "quick add to cart" icon, try adding a product with a required option directly from a category or listing page without opening its full page first — it should be rejected the same way.

Fig. 6 — The error notification shown when the quick add-to-cart icon is used on a product with an unmet required option.
4. Scope and compatibility
The module only changes behavior for options where Required is set to Yes on the option itself, and where the product's Options type is set to Simultaneous. Options set to Sequential apply order are not affected, since that mode already reveals options progressively as the customer makes choices and was not part of the original bug report.
Tested against CS-Cart 4.16.0 through 4.20.1. The module registers only standard, documented CS-Cart hooks and does not modify any core file, so it's expected to survive CS-Cart core upgrades within this range without reinstallation. If you upgrade past 4.20.1, we recommend re-testing before relying on the fix and letting us know either way — we're happy to extend compatibility.
5. Known limitations
This module addresses the exact regression reported on the CS-Cart forum: required Select box and Radio group options in Simultaneous mode. Required Checkbox options can optionally be covered via the Settings tab, but since checkbox groups can allow multiple selections, "required" is interpreted as "at least one variant chosen." We don't touch required File options, since CS-Cart already validates those correctly on its own.
- Store Builder
- Store Builder Plus
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- 4.21.1
- 4.20.1
- 4.19.1.SP2
- 4.19.1.SP1
- 4.19.1
- 4.18.4
- 4.18.3
- 4.18.2.SP1
- 4.18.2
- 4.18.1.SP1
- 4.18.1
- 4.17.2.SP3
- 4.17.2.SP2
- 4.17.2.SP1
- 4.17.2
- 4.17.1
- 4.16.2
- 4.16.1
- English
- Русский
We have been working with CS-Cart since 2014
When you work with a single platform every day for many years, you gain an understanding of not only its capabilities but also its limitations. That is why we can evaluate most tasks before development begins and recommend the best technical solution from the start.
Since 2014, we have been building online stores, marketplaces, and corporate eCommerce solutions with CS-Cart. Our team includes certified CS-Cart specialists, and our expertise is officially recognized by CS-Cart certification. We develop solutions all the way down to the CS-Cart core, allowing us to go far beyond standard customizations and implement truly complex functionality.
Our developers have contributed to projects such as CDEK.Market, Big.ru, and other large-scale eCommerce platforms. This experience enables us to make the right technical decisions quickly and avoid the mistakes that often appear only after years of practical development.
We value our clients' time. That is why we avoid unnecessary delays, honor our commitments, respond constructively to feedback, and always focus on delivering solutions that create real business value rather than simply completing another task.
In addition to CS-Cart development and custom module creation, we provide ongoing support and maintenance for your online store.
We stand behind our work and ensure your project operates reliably. Our goal is to build long-term partnerships based on trust and mutual success.
Similar products
- Makes your store faster.
- Improves the SEO ranking of the site.
- Increases conversion.
- Speeds up the site.
- Reduces server load.
- Raises in search results.




