Forms Logic allows you to build dynamic, intelligent forms that respond in real time to user input. Using a When / Then framework, you can show or hide fields, enforce requirements, auto-fill values, and even prevent submission — all without custom code.
This enables forms to adapt to real-world business rules, reduce user error, and streamline data collection.
How Forms Logic Works
To access the Form Logic feature, you can select the logic tab from the Form builder.
Forms Logic is built using rules, each made up of two parts:
When — conditions that must be met
Then — actions that occur when those conditions are true
Multiple rules can exist on the same form and are evaluated as users interact with the form.
Building Conditions (When)
Each condition contains three components:
Field - Select the form field you want to evaluate.
Operator - Determines how the field is evaluated. Available operators depend on the field’s data type.
Value - The value to compare against. This may be a static value, another field, or a calculated value.
Grouping Conditions
You can combine conditions to create more complex logic:
All conditions are true (AND)
Every condition in the group must be met.Any condition is true (OR)
At least one condition in the group must be met.
Supported structure:
Multiple conditions per group
Multiple condition groups
One level of nesting, for example:
(Condition A OR Condition B) AND (Condition C OR Condition D)
Notes
Selecting Add condition adds another condition to the current group.
Selecting AND or OR under a group creates a new condition group.
Rule and group names are for organization only and do not affect behavior.
Available Operators by Field Type
Operators vary based on the field selected.
Text / String Fields
(Short Text, Long Text, Name sub-fields, Email, Phone, Address sub-fields)
Is / Is not
Is empty / Is not empty
Contains / Does not contain
Starts with / Does not start with
Ends with / Does not end with
Length comparisons (longer than, shorter than, equal to, etc.)
Number Fields
(Number)
Is / Is not
Is empty / Is not empty
Greater than / Less than
Greater than or equal to / Less than or equal to
Date Fields
(Date, Time, Date/Time)
Is / Is not
Is before / Is after
Is empty / Is not empty
Option Fields
Single-option fields (Radio, Dropdown):
Is / Is not
Is empty / Is not empty
Multi-option fields (Checkbox):
Is / Is not
Contains / Does not contain
Is empty / Is not empty
Value Input Options
Depending on the field type and operator, values can be provided in several ways:
Static values — Manually entered values
Field references — Values from other fields in the same form
Formulas — Basic numeric calculations
Date picker — For date-based comparisons
Calculator — Available for numeric value entry
Important
Option-type fields (Radio, Checkbox, Dropdown) do not allow manual values.
Values must come from existing options or mapped data.
Actions (Then)
When conditions are met, you can trigger one or more actions:
- Hide, exclude data — Visually hides the field from the user, removes required validation and excludes data for that field from the submission
- Show, include data — Visually show the field from the user, require required validation and include the data for that field from the submission (opposite action of “Hide, exclude data”)
- Make required — Makes a field mandatory for form submission
- Make optional — Removes the requirement, making the field optional
- Make read-only — Prevents users from editing the field
- Make editable — Allows users to modify a field that was set to read-only
- Make invisible - Only visually hides a field on the form
- Make visible - Only visually hides a field on the form
- Fill, read-only - Populates a field with a value or calculation and sets it to be uneditable by the end user
- Disable submission — Block form submission
Fill and Read-Only Behavior
Fields are filled and locked only while the When condition is true.
If the condition becomes false:
The field is no longer filled
The field becomes editable unless it was already set to read-only
Filling values
Number fields support calculations
Other field types can be filled using:
Values from other fields (current or previous forms)
Static values
Data Mapping in Logic
Forms Logic supports data mapping from:
Fields in the current form
Fields from earlier steps in the workflow
This allows you to:
Use previously collected data in logic
Avoid adding extra fields solely for logic purposes
Data type rules apply
The referenced field’s data type must be compatible with the target field.
Logic and Calculations: Understanding "Then" Actions
When you set up Logic and Calculations in Forms, the "Then" section provides several actions you can apply to fields. Understanding these options is important because some control field settings while others affect the data itself.
Opposite Pairs: Field Settings
These options work as opposites, toggling field settings on and off:
Make visible ↔ Make invisible
- Make visible: Only visually shows a field on the form
- Make invisible: Only visually hides a field on the form
Make required ↔ Make optional
- Make required: Makes a field mandatory for form submission
- Make optional: Removes the requirement, making the field optional
Make editable ↔ Make read-only
- Make editable: Allows users to modify a field that was set to read-only
- Make read-only: Prevents users from editing the field (they can see it but not change it)
Data-Affecting Actions
These options control both visibility AND what happens to the data:
Show, include data
- Displays the field to the user
- Includes the field's data in form submissions and calculations
Hide, exclude data
- Visually hides the field from the user
- Removes validation requirements (requirements)
- Excludes the field's data from submissions and calculations
- Note: This is different from "Make invisible," which only affects visibility
Fill, read-only
- Populates a field with a value or calculation
- Makes the field read-only so users cannot edit it
Disable submission
- Prevents the form from being submitted when the logic condition is met
Important Note for Formstack Forms Users
If you migrated from Formstack Forms, you may have been familiar with "Hide" meaning "visually hide, remove validation, and exclude data" and "Show" meaning the opposite. The new system maintains this behavior:
- Hide, exclude data = your previous "Hide" behavior
- Show, include data = your previous "Show" behavior
The "Make invisible/Make visible" options are simpler, they only control whether the field appears on screen without affecting data handling.
Limitations
File fields cannot be used in logic conditions
Only one level of condition nesting is supported
Date, Time, and Date/Time fields can only be compared to static values
At this time, these fields cannot be compared to other fields using logic
Troubleshooting Common Issues
Hidden elements overriding visible ones
Logic follows the form hierarchy:
Pages → Sections → Fields
If a parent element is hidden, all child elements remain hidden — even if a rule explicitly shows a child field.
Example
Page is set to Hide
Field on that page is set to Show
The field remains hidden because the page (parent) is hidden.
Comments
0 comments
Article is closed for comments.