Feathery Docs
HomeCommunityGitHub
  • Platform
    • Quickstart
    • Form Fields
      • Hidden Fields
      • How to Set Field Values
      • Link Fields Across Forms
      • Custom Field Input Format
    • Build Forms
      • Elements
        • Basic
          • Container
          • Button
          • Text
          • Progress Bar
          • Image
          • PDF Viewer
          • Video
          • Table
          • Tooltip
        • Fields
          • Address
            • Street Address Line 1
            • Street Address Line 2
            • City
            • State
            • Country
            • Zip Code
          • Button Group
          • Checkbox
          • Checkbox Group
          • Color Picker
          • Combobox
          • Dropdown
          • Dropdown Multiselect
          • Date Selector
          • Time Selector
          • Email
          • File Upload
          • Matrix
          • Number
          • Password
          • Picture Choice
          • Pin Input
          • Phone Number
          • Radio Group
          • Rating
          • Signature
            • Legally Binding Signatures
          • Slider
          • Social Security Number
          • Text Area
          • Text Field
          • Payment Method
          • URL
        • Custom HTML, JS, CSS, and Iframes
        • Custom Fields
      • Design
        • Reuse styles and elements
          • Styling
          • Assets
        • Alignment and Spacing
        • Sizing Forms and Elements
        • Responsive Layouts
      • Actions
      • Logic
        • Navigate Steps Conditionally
        • Show Elements Conditionally
        • Custom Field Validation
        • Available Conditions
        • Display Dynamic Text
        • Dynamically Repeating Containers
      • Advanced Logic & API Connections
        • Visual Rule Builder
          • Connect to API Action
            • Salesforce API Connector
          • Set Field Value Action
          • Navigate Step Action
          • Set Field Error Action
          • Open URL Action
          • Set Calendly URL Action
        • Javascript Rule Builder
          • API Connections in Code
          • Trigger Integrations from Logic
          • Reusable Logic Configs
        • Examples
          • API Connectors
            • Dynamic dropdown options
            • Dynamic form navigation
            • Pre-fill form from Salesforce
            • Pre-fill form from Hubspot
            • Pre-fill field options from Google Sheets
            • Generate ChatGPT Message
          • Field Validation
            • Complex Field Validation
            • Date and Time Validations
          • Initialize Date Field
          • Dynamically set field placeholder
          • Randomize Field Option Order
          • Update field options based on previous selection
      • Integrations
        • Event Triggers
        • Examples
          • Upload Files to Google Drive
      • Dev & Staging Environments
    • Launch Forms
      • Embed Your Forms
      • Custom URLs & SEO
      • User Tracking
      • Completion Criteria
      • UTM Parameters
      • Accessibility Standards
      • Analytics
      • A/B Testing
      • Offline Mode
    • Document Intelligence
      • Review Extractions
      • Post Processing
      • Supported Document Types
      • Prompting Guide
      • Examples
        • Investment Report
    • Document Autofill & Signatures
      • Autofill Document Templates
        • PDF Autofill
        • Word Doc Autofill
          • Dynamic Tables
        • Excel Autofill
        • PowerPoint Autofill
        • InDesign Autofill
      • Signature Workflows
        • Signature Notifications
        • Access Signed Documents
        • 21 CFR Part 11 Compliance
      • Export Form Submission PDF
    • Workflows
      • Collaboration
        • Email Invite
        • Start Directly
        • Anonymous Starts
      • Review, Edit & Approve
      • Unique Submission Links
    • Enterprise Compliance
      • Security and Privacy
      • Reliability and Performance
      • Document Management
      • Data Sovereignty
    • International Forms
      • Translate Forms
      • Right to Left (RTL) Support
      • International Form Fields
    • White Label Feathery
      • Build Custom Form Fields
      • Offer Custom Form Templates
      • Custom Dashboard Domain
    • Account Settings
      • Managing Your Team
      • Permissions and User Groups
      • Account Attributes
    • FAQs
      • Account & Billing
  • Guides
    • Verify Submissions & Prevent Spam
    • Build a Login or Verification Flow
      • Connect an Auth Integration
      • Add Auth Methods
        • Email SMS Code
        • Email Magic Link
        • Phone Number Verification
        • Social Logins
          • Google
          • Amazon
          • Apple
          • Bitbucket
          • Coinbase
          • Discord
          • Facebook
          • GitHub
          • GitLab
          • LinkedIn
          • Microsoft
          • Slack
          • Twitch
          • Twitter
      • (Optional) Require Auth for Onboarding Steps
      • (Optional) Add Login Flow to Your Site
        • Feathery-Hosted (Recommended)
        • Embed Login Flow
          • Login Embed Tutorial
    • Build a Payment Flow
      • Connect to Stripe
      • Select Products or Plans
      • Collect Payment Method
      • Purchase Products
    • Send Custom SMS Messages
    • Salesforce Picklist Options
  • Developers
    • React SDK
      • API Guide
        • init()
        • <Form>
          • contextRef
          • Event Handlers
            • onSubmit()
            • onLoad()
            • onChange()
            • onAction()
            • onError()
            • onFormComplete()
            • onView()
          • Custom JSX Components
          • PopupOptions
          • initialLoader
        • getFieldValues()
        • setFieldValues()
        • updateUserId()
        • Login API
          • <LoginForm>
          • useAuthClient()
      • Inline vs Popup Form
    • Javascript SDK
    • Context API
      • Field Object
      • field.setStyles()
      • Deprecated Context API
    • REST API
Powered by GitBook
On this page

Was this helpful?

  1. Platform
  2. Build Forms
  3. Logic

Available Conditions

Feathery supports building conditional logic for navigating between steps, hiding / showing elements, and custom field validation rules..

PreviousCustom Field ValidationNextDisplay Dynamic Text

Last updated 2 months ago

Was this helpful?

Conditional logic allows you as the designer to determine when a navigation, validation or hide rule will run. The conditional logic is evaluated by the Feathery form at the appropriate time and if it evaluates true, the navigation happens or the validation sets the field/button invalid or the field/element/container is hidden.

Conditional logic (sometimes called rules) is built of logic expressions. Each logic expression has a left side which is a field on the form and a comparison operator. Depending on the comparison operator chosen, the logic expression may have a right side that can be either form field(s) or directly entered value(s). The right side can also be made up of multiple fields/values that are OR'd together. For example in the image below, the first logical expression reads as: if bus_company's selections include Greyhound or Megabus then the condition is true.

Multiple logic expressions may be AND'd as shown in the screenshot below to form the condition/rule.

The table below describes the supported logic comparison operators and where the apply.

Comparison Operator
Purpose
Additional Info

is

Evaluates true if the left side is equal to the right side of the comparison expression.

isn't

Evaluates true if the left side is NOT equal to the right side of the comparison expression.

is greater than, is greater than or equal, is less than, is less than or equal

Evaluates true if the left side is >, >=, < or <= to the right side of the comparison expression.

This is primarily used for numeric data and fields, but will work for text as well.

is filled

Evaluates true if the field on the left side of the comparison expression has data entered in it.

is empty

Evaluates true if the field on the left side of the comparison expression has NO data entered in it.

is true

Evaluates true if the field on the left side of the comparison is checked/selected.

Applies only to single checkbox fields

is false

Evaluates true if the field on the left side of the comparison is NOT checked/selected.

Applies only to single checkbox fields

contains, contains (ignore case)

Evaluates true if the text in the field on the left side of the comparison contains the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

doesn't contain, doesn't contain (ignore case)

Evaluates true if the text in the field on the left side of the comparison does not contain the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

starts with

Evaluates true if the text in the field on the left side of the comparison begins with the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

doesn't start with

Evaluates true if the text in the field on the left side of the comparison does not begin with the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

ends with

Evaluates true if the text in the field on the left side of the comparison ends with the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

doesn't end with

Evaluates true if the text in the field on the left side of the comparison does not end with the text or the text in the field on the right side of the comparison.

Can be used with text type fields such as text field, text area, email, phone number and address fields as well as drop downs, selects and button groups.

is numerical

Evaluates true if the text in the field on the left side of the comparison is a number.

is text

Evaluates true if the text in the field on the left side of the comparison is not a number.

selections include

For multi-select type fields, this operator evaluates true if any of the selections in the field on the left side of the comparison are equal to the text or the text in the field on the right side of the comparison.

Applies only to multi-select checkbox fields and button groups.

selections don't include

For multi-select type fields, this operator evaluates true if NONE of the selections in the field on the left side of the comparison are equal to the text or the text in the field on the right side of the comparison.

Applies only to multi-select checkbox fields and button groups.

Two logic expressions composed into a validation rule