Skip to content
2.36.24

Validation rules ​

The designer checks a process while you work, and says what it finds on the right of its tabs: No errors, or Errors (n) and Warnings (n). See The check.

  • An error keeps you from publishing. A run of the process would fail on it, or couldn't even start.
  • A warning points at something that is probably a mistake, but that a run can live with. You can publish with warnings.

This page lists every message the check can give, grouped by what it is about, with the chapter that explains it and says what to do. In the messages, … stands for a name from your process, such as a node, a variable or an input. Where a message ends in a colon, the rest says what exactly is wrong.

When you publish, Spider checks the forms once more itself, and refuses a draft whose templates or form texts show an image the organization doesn't have. Every other rule is checked by the designer only. A process imported from a package, or written through the API, is a draft, and gets the designer's check when you open it there to publish it.

The diagram ​

Explained in The check and Sub-processes. In a sub-process, the messages say sub-process where these say process.

MessageSeverity
The process has no start event.Error
The process has n start events; only one is used when a run starts.Warning
The process has no end event.Error
Multiple nodes share the id '…'.Error
The link starts at node '…', which does not exist.Error
The link ends at node '…', which does not exist.Error
The node has no outgoing link; a run cannot continue past it.Error
The end event has an outgoing link, which is never followed.Warning
The node is not reachable from a start event.Warning
The sub-process has no nodes.Error
The sub-process has no content.Error
The sub-process content belongs to no node.Error

A node id is given by the designer itself, and two links to a node that isn't there come from a package or a draft that was edited outside the designer. Delete the node or the link and draw it again.

Variables ​

Explained in Variables and parameters.

MessageSeverity
The variable name '…' is not valid; use letters, digits, underscores and hyphens only.Error
The variable name '…' is reserved by the engine; choose another name.Error
More than one variable is named '…'; a name is unique across the whole process.Error

Gateways ​

Explained in Gateways and conditions. A parallel gateway, and a gateway with one outgoing link, are not checked.

MessageSeverity
The gateway has multiple outgoing links but no conditions.Error
A gateway condition targets node '…', which is not connected to the gateway.Error
The gateway condition for node '…' has no expression, so its path is never selected.Warning
The gateway condition for node '…' has an invalid expression: …Error
The gateway condition for node '…' is a literal, but a condition on this gateway has to be a Boolean expression.Error
The gateway compares a single expression, but the expression is missing.Error
The gateway expression is invalid: …Error
The gateway has no fallback condition; a run fails when no condition matches.Warning

Inputs ​

Explained in Inputs, and for expressions in Expressions.

MessageSeverity
The input '…' is required, but has no value.Error
The input '…' is bound to …, but its activity only takes ….Error
The input '…' has an invalid expression: …Error
The input '…' does not match its declared type '…': …Error
The input '…' is declared as an array, but '…' reads one value of the loop's Item, not a list.Error
The input '…' is bound to a variable, but its value is not a single variable reference.Error
The input '…' is a literal, but is not the JSON its declared type '…' requires: …Error
The input '…' is a mapping that cannot be read: …Error
The input '…' is declared as '…', which a mapping cannot build.Error
The input '…' is declared as '…', but its mapping builds '…'.Error
The input '…' is a mapping that cannot be built as written: …Error
The input '…' is a mapping that leaves something out: …Warning
The input '…' is bound to a resource, but its value is not a key.Error

The inputs that pick a template, a milestone, a report or a form are in their own sections below. A connection, collection or counter that was deleted is not noticed: see Connections.

Templates ​

Explained in Templates and e-mail.

MessageSeverity
The template has no name.Error
More than one template is named '…'; a template name is unique across the process.Error
The template name '…' is not valid; use letters, digits, underscores, hyphens and spaces, and no space at the start or the end.Error
The template '…' can't be rendered: …Error
The template '…' reads '…', which no variable of this process is named.Warning
The template '…' is nested in itself.Error
The template '…' is nested in a template that no longer exists.Error
The template '…' is nested in a chain that returns to itself.Error
The template '…' is nested more deeply than 16 templates.Error
The template '…' is … written in …, which is not a combination that can be rendered.Error
The template '…' embeds a file as a data: URI. Templates hold text only; a definition that carries embedded images outgrows what can be stored.Error
The template '…' holds …, over the 256 KB one template may hold.Error
The process's templates hold …, over the 4 MB a process may hold.Error
The input '…' is bound to a template that does not exist.Error
The input '…' is bound to a template, which renders to a string, but is declared as '…'. (or as an array)Error
The input '…' expects a … template, but '…' is ….Error
The input '…' is bound to template '…', which reads Item, but the node does not loop, so Item renders empty.Warning

Milestones and reports ​

Explained in Milestones and reports.

MessageSeverity
The milestone has no name.Error
More than one milestone is named '…'; a milestone name is unique across the process.Error
The milestone '…' has no icon.Error
The milestone '…' has the colour '…', which is not six hex digits behind a '#'.Error
The input '…' is bound to a milestone that does not exist.Error
The report has no name.Error
More than one report is named '…'; a report name is unique across the process.Error
The report '…' has a tag that is blank or longer than 50 characters: …Error
The input '…' is bound to a report that does not exist.Error

Forms ​

Explained in Forms and user tasks. In the messages, a form's element is named by its kind and its label, such as the input 'Comment', the dropdown 'Decision' or the button 'Approve'.

The form as a whole:

MessageSeverity
The form has no name.Error
More than one form is named '…'; a form name is unique across the process.Error
The form '…' has the maximum width '…', which is not a number of pixels or a percentage up to 100 ('600px', '80%').Error
The form '…' nests n layouts inside each other, over the 12 a form may nest.Error
The form '…' holds n layouts and controls, over the 300 a form may hold.Error
The form '…' has more than one element with the id '…'.Error
The form '…' has … without an id.Error

The button bar and buttons:

MessageSeverity
The form '…' has … in its button bar, which holds only buttons.Error
The form '…' has n submit buttons in its button bar, where it has exactly one. (or cancel buttons)Error
The form '…' has a cancel button that is not the last button of its button bar.Error
The form '…' has a submit button that does not submit in its button bar. (or a cancel button that submits)Error
The form '…' has its submit button outside its button bar. (or its cancel button)Error
The form '…' has a button without a label.Error
The form '…' has the button '…', which submits the form but has no result term.Error
The form '…' has the button '…' with the colour '…', which is not six hex digits behind a '#'.Error

Layouts:

MessageSeverity
The form '…' has … with the column width '…', which is not a number of pixels or a percentage up to 100.Error
The form '…' has … with a column width, which is ignored because it is not in a horizontal layout.Warning
The form '…' has … with a column width, which is ignored because the last column takes the rest of the row.Warning
The form '…' has …, which holds nothing.Warning
The form '…' has the tab '…', which holds nothing. (or step)Warning
The form '…' has … without any tabs. (or steps)Error
The form '…' has a tab without a label. (or step)Error
The form '…' has n steps layouts; a form may hold only one.Error

What a control is bound to:

MessageSeverity
The form '…' has … that is not bound to a variable.Error
The form '…' has … bound to a variable that no longer exists.Error
The form '…' has … bound to '…', which is not a path of property names.Error
The form '…' has … bound to '…', which names no property of variable '…'.Error
The form '…' has … that edits a value of type '…', but it is bound to a value of type '…'. (or a list of type)Error
The form '…' has … that edits variable '…', which is a … variable and can only be written through the process-run variable API. Make the control read-only.Error
The form '…' has … that edits a text, but it is bound to ….Error
The form '…' has … that picks a text, but it is bound to ….Error
The form '…' has … that shows a file, but it is bound to ….Error
The form '…' has … that uploads files, but it is bound to '…', which is not a File variable or a list of them.Error
The form '…' has … that shows a list, but it is bound to ….Error
The form '…' has … that shows analyzed fields, but it is bound to …, which holds none.Error

Texts and summaries:

MessageSeverity
The form '…' has … that can't be rendered: …Error
The form '…' has … that reads '…', which no variable of this process is named.Warning
The form '…' has … that embeds a file as a data: URI. A definition that carries embedded files outgrows what can be stored.Error
The form '…' has … whose template shows an image. A summary is rendered while the form is filled in, where neither an image of the process nor a file of the run can be shown; show it in a text instead.Error

Dropdowns, collection dropdowns and terms:

MessageSeverity
The form '…' has … without any options.Error
The form '…' has … with a blank option.Error
The form '…' has … with the option '…' more than once.Error
The form '…' has … whose default '…' is not one of its options.Error
The form '…' has … without a collection to pick from.Error
The form '…' has … that picks from a collection that no longer exists.Error
The form '…' has … that shows … of collection '…', which is not one value that can be shown.Error
The form '…' has … that writes … of collection '…', but it is bound to ….Error
The form '…' has … that shows '…' of an item's value, which is not a path of property names. (or writes)Error
The form '…' has … that shows '…' of an item's value, which names no property of collection '…'. (or writes)Error
The form '…' has … that must contain terms, but it has none.Error
The form '…' has … with a blank term.Error
The form '…' has … with the term '…' more than once; terms are matched ignoring case.Error
The form '…' has … with n terms, more than the 100 a control may have.Error
The form '…' has … without a collection to read its terms from.Error
The form '…' has … that reads its terms from a collection that no longer exists.Error
The form '…' has … that reads its terms from … of collection '…', which is not one value that can be read as a text.Error
The form '…' has … with terms its value must contain, but it edits a value of type '…': only a text can contain terms.Error

Sizes, colours and files:

MessageSeverity
The form '…' has … with the height '…', which is not a number of pixels or a percentage up to 100.Error
The form '…' has … with the maximum height '…', which is not a number of pixels or a percentage up to 100.Error
The form '…' has … whose high confidence starts at … and medium confidence at …, which are not between 0 and 100 with medium at most high.Error
The form '…' has … with the confidence colour '…', which is not six hex digits behind a '#'.Error
The form '…' has … with columns, which are ignored because only a CSV or XLSX file has columns.Warning
The form '…' has … with a blank column.Error
The form '…' has … with the column '…' more than once.Error

Start forms, which a form trigger shows before the run exists. See Start forms.

MessageSeverity
The form '…' is a start form, but … is bound to variable '…', which is not a parameter of the process. A start form can only use the process's parameters.Error
The form '…' is a start form, so it can't hold …: there is no run file to show or analyze before the run starts.Error
The form '…' is a start form, but … reads '…', which is not a parameter of the process. A start form is shown before its run exists, so its texts and summaries can only read the process's parameters.Error

The Form activity that shows a form, in a user task. See User tasks.

MessageSeverity
The input '…' is bound to a form that does not exist.Error
The input '…' shows the form '…', in which … edits variable '…', which this activity's graph does not declare. Make the control read-only, or bind a variable of this graph.Error
The input '…' shows the form '…', in which … shows variable '…', which this activity's graph cannot read.Error
The input '…' shows the form '…', in which … reads variable '…', which this activity's graph cannot read.Error

Sub-processes ​

Explained in Sub-processes and loops. The values a sub-process's parameters get are checked as an activity's inputs are, with parameter where those say input: The parameter '…' has an invalid expression: …, and so on.

MessageSeverity
The parameter '…' has no value.Error
The output '…' is a … value, but variable '…' is declared as ….Error

Starting other processes ​

Explained in Starting other processes. The values of the parameters, and Start at, are checked as an activity's inputs are, with parameter where those say input.

MessageSeverity
No process to start has been chosen.Error
The process to start does not exist.Error
The process '…' has no published version to start.Error
The node starts this process again at once; make sure a condition ends the chain, or give it a start time.Warning
A value is bound to a parameter (…) the process to start no longer has; remove it.Error
The parameter '…' has no value; the run starts without one.Warning
The parameter '…' holds files, which can't be passed to a run started from a process.Error
The output '…' is a String value, but variable '…' is declared as ….Error

Outputs ​

Explained in Outputs.

MessageSeverity
The output '…' writes a variable that is not declared in this scope. The output is ignored.Error
The output '…' writes into variable '…' through a path, which a … variable does not support. Map the output to the whole variable. The output is ignored.Warning

Loops ​

Explained in Sub-processes and loops.

MessageSeverity
The node cannot be looped.Error
The loop has no array variable to iterate.Error
The loop iterates a variable that is not declared in this scope.Error
The loop iterates variable '…', which is not an array.Error
The node repeats for each item, but none of its inputs reads {Item}.Warning
The output '…' writes variable '…', which is the array the loop iterates.Error
The output '…' writes variable '…', which is not an array; a loop appends one value per iteration.Error

Version 2.36.24