Controlling Field Visibility with Logic

Controlling Field Visibility with Logic

A great form feels like a conversation, not an interrogation. By controlling field visibility, you can create “branching” experiences that hide irrelevant questions and only show fields when they are actually needed. This keeps your forms clean, reduces user fatigue, and increases completion rates.


How Visibility Works

Every field in our Form Designer has a Visibility property. This property is powered by a simple formula that must result in either True (Show) or False (Hide).

Step-by-Step: Showing a Field Based on an Answer

Let’s use a common example: asking for hazard details only if the user confirms they saw a hazard.

  1. Identify the Trigger Field: Ensure your “trigger” question (e.g., Do you see any hazards?) has a clear Data Name. In this example, we’ll use seeHazards.
  2. Add your Dependent Field: Place the field you want to hide (e.g., a Text field for “Hazard Description”) directly below the trigger. Give it a Data Name like hazardsDescription.
  3. Locate the Visibility Property: Select the hazardsDescription field. In the properties panel on the right, scroll down to the Advanced section to find Visibility.
  4. Apply the Logic: Enter the following formula into the Visibility box:{{seeHazards}} = 'Yes'
  5. Test and Save: When the user selects “Yes,” the formula becomes True and the field appears. If they select “No” or leave it blank, the formula is False and the field remains hidden.

Common Visibility Formulas

You can use different operators to handle various types of logic:

ScenarioFormula Example
Match a specific choice{{fieldDataName}} = 'ChoiceValue'
Show if NOT a specific choice{{fieldDataName}} != 'ChoiceValue'
Show if a number is greater than{{amount}} > 100
Show if multiple conditions are met{{seeHazards}} = 'Yes' AND {{riskLevel}} = 'High'

Design Tips

  • Page Visibility: You can apply these same formulas to entire Pages in the Form Designer. If a user selects a specific category at the start, you can skip whole sections of the form that don’t apply to them.
  • Default State: Remember that fields are visible by default (an empty Visibility property defaults to True).
  • Data Names Matter: Always use descriptive Data Names. It’s much easier to write {{hasInsurance}} = 'Yes' than {{field12}} = 'Yes'.

Need more advanced logic? Check out our Guide to Creating Formulas to learn about calculations, date comparisons, and complex “IF” statements.

    • Related Articles

    • Controlling Required Fields

      The standard Required and Read Only option on the Form designer lets you define fields that are always required or read only respectively. However sometimes you need to make a field required or read only based on the answer(s) to a previous field. ...
    • Showing and Hiding Fields (Visibility)

      There are many situations where you may want to show/hide fields (or even whole pages) based on the answer to a previous question. For example, say we have a Choices field that asks "Do you see any hazards?", with the options of Yes or No. Now if the ...
    • Process Field (3-Step Workflow)

      Extending on the 2-Step Workflow by adding a 3rd step to the workflow. Demonstrating that multiple steps can be added to cater to various business processes. Including formulas controlling field visibility and read-only conditions depending on what ...
    • Gallery Field

      The Gallery Field is an advanced, repeatable field type that allows users to upload, capture, and manage multiple images within a single entry. Using the Gallery Field Key Features Multi-Upload: Add up to 6 images at once from a device gallery, or ...
    • Table Field

      The Table field is an advanced field that allows you to capture and display repeating data sets in a tabular format. Rows can be added or prepopulated from a data source and edited by viewing all row column data or directly viewing them on the table ...