Hey @franticape,
When you wrap a Cornerstone Form (or its input fields) inside a Cornerstone Component (or Global Block), it breaks because of how the form registers its input fields:
Context & Scoping: When a form renders, it traverses its own child elements (_modules) using the function cs_form_get_inputs_from_form_element(). It does this to register all the input names and validation rules.
Component Isolation: Cornerstone Components are stored as separate entities/posts and dynamically resolved at render time. They act as boundaries. Because of this, the fields inside the Component are not directly nested within the Form’s immediate _modules tree when the plugin looks for them.
Registration Failure: Since the plugin cannot traverse past the Component boundary to see the input elements inside it, the form fails to register the input fields. When the form is submitted, it does not recognize any submitted data or validations for those fields, causing the form to break.
With all that said, you can try the following solutions but it’s best to have the form directly in the page.
Viewed boot.php:1-135
Listed directory Data
Viewed Data.php:1-266
Yes, there are a few ways to resolve or work around this limitation depending on your workflow:
Solution 1: Make sure to put the ENTIRE Form inside the Component (Not just the inputs)
If you place a Form wrapper element on the page and save only the input fields inside a Component, the Form element cannot traverse past the Component boundary to find its children.
Do: Create a Component that contains the entire Form element along with all of its input fields. As long as the Form element is the parent element inside the Component, it can successfully scan and register its inputs locally.
Solution 2: Explicitly Set a Custom Form ID
When you save elements as Components, Cornerstone may dynamically generate or change element IDs (like e1234-5) upon rendering, causing submissions to fail due to ID mismatches.
Do: Select your Form element, go to its settings (in the Form tab), and enter a static, unique string in the ID field (e.g. contact-form-footer). This prevents Cornerstone from generating a random dynamic ID for each instance.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Iframe error, can't edit page | 0 | 5 | 11-07-2026 |
| 2 | Iframe error, can't edit page | 0 | 5 | 12-07-2026 |
| 3 | Iframe error, can't edit page | 0 | 5 | 10-07-2026 |
| 4 | Thread got closed while still waiting for an update | 0 | 5 | 13-07-2026 |
| 5 | Parameter display conditions (hide element when empty) | -2 | 3 | 10-07-2026 |
| 6 | Style Blog Page | 0 | 5 | 13-07-2026 |
| 7 | CS Forms Date picker width | 0 | 5 | 11-07-2026 |
| 8 | Gravity Forms admin throwing errors (Pro Theme) | 2 | 1 | 12-07-2026 |
| 9 | isVar in components not working since last update | 0 | 5 | 13-07-2026 |
| 10 | CS Forms Date picker width | 0 | 5 | 11-07-2026 |