Skip to content

🦞 igor-claw: fix Create Form recipe's identifier guidance for choice/date fields - #824

Open
ayal wants to merge 1 commit into
mainfrom
igor-claw/fix-create-form-identifier-componenttype-mismatch
Open

🦞 igor-claw: fix Create Form recipe's identifier guidance for choice/date fields#824
ayal wants to merge 1 commit into
mainfrom
igor-claw/fix-create-form-identifier-componenttype-mismatch

Conversation

@ayal

@ayal ayal commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Problem

The Create Form recipe's own recommended pattern for choice/date fields causes the exact bug it warns about. It instructs setting identifier: "TEXT_INPUT" for RADIO_GROUP/DROPDOWN fields (Field Types Reference table + "Choice fields" example), and doesn't cover DATE_INPUT/DATE_PICKER at all.

Live-verified on wix.form_app.form via Create Form: the Form Schemas API (form-schema-service) derives a field's rendered componentType on every subsequent read from its identifier string, matched against an internal fixed allow-list — completely independent of the componentType actually set in the request. Following the recipe's own guidance (identifier: "TEXT_INPUT" + componentType: "RADIO_GROUP") makes the field's own create response immediately show componentType: "TEXT_INPUT", discarding radioGroupOptions — no error, HTTP 200. Setting identifier to match the componentType instead ("RADIO_GROUP", "DROPDOWN", "DATE_INPUT") reproducibly fixes it.

This is the root cause of an MCP feedback report where an agent built a lead-capture form with a dropdown "Preferred Campus" field and a "Date of Birth" field; both silently reverted to TEXT_INPUT after creation, and the DOB field's validation.format became immutably stuck at DATE even though its rendered type was lost.

Solution

  • Corrected the "Field Types Reference" table and "Choice fields" example to use identifier matching componentType (RADIO_GROUP/DROPDOWN) instead of "TEXT_INPUT".
  • Added a new "Date fields (DATE_INPUT / DATE_PICKER)" section (previously undocumented), with the same identifier-must-match-componentType rule.
  • Updated the "CRITICAL" bullet and troubleshooting table to describe the actual failure mode: a mismatched identifier doesn't just risk a fallback, it unconditionally coerces the field to TEXT_INPUT (or drops it if identifier is fully custom).

Considerations - important facts the reviewer should know

@ayal
ayal requested a review from ozsay August 4, 2026 07:01
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

❌ EvalForge YAML Gate: Missing Coverage

These changed docs have no covering YAML scenario for their area (scenarios for other areas do not count):

  • skills/wix-manage/references/forms/create-form.md — expected URL: https://dev.wix.com/docs/api-reference/crm/forms/skills/create-form — add a scenario under yaml/wix-manage-evals/forms/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant