Validation
Every message that can stop a publish, what it means, and how to fix it.
Use this page when the editor shows N Issues instead of Publish. Click it to see the list. Publishing runs the same checks on the server. Saving drafts is never blocked.
Where a message names a layer, click Select layer (or Select N layers) to jump to it.
Messages
In messages, N is a number and the text in quotes is taken from your screen.
Content
| Message | Fix |
|---|---|
| Paywall has no components. Add at least one component before publishing. | Add a layer to the main stack. |
Plans
| Message | Fix |
|---|---|
| Add a Purchase Button so users can buy the selected package. | Add a Purchase button. |
| Add at least one Package for the Purchase Button to buy. | Add plan cards, or remove the button. |
| N package(s) have no package ID. Give each one the ID your app uses for that plan, e.g. "monthly". | Set an ID on each card. Cards still showing "Set package ID" count. |
| Package IDs can only use letters, numbers, _ $ . - (examples). | Remove other characters. Max 64. |
| Each package needs its own ID (X is used more than once). | Give each card a different ID. |
See Packages and pricing.
Buttons
| Message | Fix |
|---|---|
| N "Run your code" button(s) have no action ID. Give each one the ID your site listens for, e.g. "get_started". | Fill Action ID. |
| Action IDs start with a letter and use lowercase letters, numbers, _ . - (examples). | Lowercase, start with a letter, up to 48 characters. |
| N "Go to screen" button(s) or answer(s) have no screen picked. | Choose a Screen. |
| A "Go to screen" button opens this same screen. Pick another screen. | Link to a different screen. |
| N "Go to screen" link(s) point to a screen that no longer exists in this project. Pick another screen. | Re-pick the target. |
See Actions and links.
Questions
Here "name" is the question's Field ID, or "A question" when it has none.
| Message | Fix |
|---|---|
| N question(s) need a field ID: lowercase letters, numbers and _, starting with a letter (your site reads the answer by it, e.g. "goal"). | Fix the Field ID. Max 40 characters. Applies to text fields too. |
| Each question needs its own field ID (X is used more than once). | Make Field IDs unique on the screen. |
| "name" needs at least 2 answers. | Add answers. |
| "name": answer IDs use lowercase letters, numbers and _, starting with a letter. | Fix the Answer IDs. |
| "name": each answer needs its own ID (X is used more than once). | Make Answer IDs unique in the question. |
| "name": the number of answers to pick must be between 1 and N, with the minimum not above the maximum. | Fix At least and At most. |
See Flows and questions.
Text
| Message | Fix |
|---|---|
| N text(s) are empty in the default language: "A", "B", "C", and N more. Type their text, or delete them. | Fill the texts (layers are named by their layer name), or delete the layers. Includes text field placeholders. |
See Localization.
Not blocking
The contrast check is only a warning. A "Go to screen" to a screen that is not published yet is allowed, but the button does nothing on your site until you publish that screen.
Server answer
If the server refuses a publish, you see "Cannot publish:" followed by the same messages. A refusal for "Version conflict" means the draft changed elsewhere. See Publish and versions.