Before publishing your survey, Deepfield automatically validates your survey configuration to catch potential issues. Understanding these validation rules helps you create surveys that work correctly for participants.
How Validation Works
When you attempt to publish or test your survey, the system checks for:
Errors - Must be fixed before publishing (red indicators)
Warnings - Recommended fixes but won't block publishing (yellow indicators)
Validation runs automatically and shows issues in the survey editor with indicators next to problematic questions or sections.
Validation Categories
Structure Validation
These checks ensure your survey has the required elements.
Issue | Severity | Description |
Empty section title | Warning | Section has no title |
Empty section | Warning | Section contains no questions |
Empty question text | Warning | Question has no text |
Empty option text | Warning | Multiple choice option has no text |
Empty matrix row text | Warning | Matrix row has no text |
Question Configuration
These checks ensure questions are properly configured for their type.
Issue | Severity | Description |
Multiple choice without options | Error | MCQ, ranking, allocation, or multi-numeric has no options defined |
Matrix without rows | Error | Matrix question has no row items |
Matrix without columns | Error | Matrix question has no scale options |
Insufficient options | Error | Allocation or multi-numeric needs at least 2 options |
Currency on wrong type | Warning | Currency setting only applies to numeric questions |
Max selections without multi-select | Warning | Max selections requires "allow multiple" enabled |
Conditional Logic Validation
These checks ensure conditional display rules work correctly.
Issue | Severity | Description |
Invalid question reference | Error | Conditional rule references a question that doesn't exist |
Invalid matrix row reference | Error | Rule references a matrix row that doesn't exist |
Invalid operator | Error | Operator not valid for the referenced question type |
Empty expected value | Error | Rule has no value to compare against |
Self-referential condition | Error | Question's display rule references itself |
Forward reference | Error | Rule references a question that comes later in the survey |
Screening Rule Validation
These checks ensure screening (termination) rules work correctly.
Issue | Severity | Description |
Invalid question reference | Error | Screening rule references non-existent question |
Invalid matrix row reference | Error | Rule references non-existent matrix row |
Invalid operator | Error | Operator not valid for the question type |
Empty expected value | Error | Rule has no value to compare against |
Forward reference | Error | Rule references a question that comes later |
Variable Reference Validation
These checks ensure text variables (dynamic content) work correctly.
Issue | Severity | Description |
Invalid variable reference | Error | Question text uses |
Forward variable reference | Error | Variable references a question that comes later |
Option Piping Validation
These checks ensure questions that reuse options from other questions work correctly.
Issue | Severity | Description |
Column filter without source | Error | Filter defined but no source question selected |
Empty column filter | Error | Column filter selected but no columns chosen |
Matrix source needs filter | Error | When piping from a matrix, you must select which columns to use |
Common Issues and Fixes
"Multiple choice question has no options"
Problem: You've created a multiple choice, ranking, allocation, or multi-numeric question but haven't added answer options.
Fix: Add options to your question:
Select the question
In the options section, click "Add option"
Enter text for each option
Ensure you have at least 2 options for allocation/multi-numeric
Alternative: If you want to reuse options from another question, select a source question in the "Use options from" setting.
"Conditional rule references a question that appears later"
Problem: You've set up conditional logic that depends on a question the participant hasn't answered yet.
Fix: Reorder your questions so the referenced question comes before the conditional question:
Find the question being referenced in the condition
Drag it to appear before the question with the conditional rule
Or, change the condition to reference a different question
"Question text references non-existent variable"
Problem: Your question text contains #{{some_id}} but that question ID doesn't exist.
Fix:
Open the question text editor
Use the variable inserter to select a valid question
Or, manually check that the variable ID matches an existing question
"Matrix question has no column options"
Problem: You've created a matrix question but haven't defined the rating scale.
Fix: Add scale options to your matrix:
Select the matrix question
In the "Scale" or "Options" section, add your rating scale
Common scales: 1-5, Strongly Disagree to Strongly Agree, etc.
"Screening rule has empty expected value"
Problem: You've created a screening rule but haven't specified what answer should terminate the participant.
Fix:
Select the question with the screening rule
In the screening rule settings, specify the answer value(s) that should disqualify
For multiple choice, select which option(s) trigger termination
Best Practices
Before Publishing
Review all errors - These must be fixed
Consider warnings - Fix if they affect participant experience
Test your survey - Use test mode to walk through as a participant
Check all paths - If using conditional logic, test each branch
Conditional Logic Tips
Order matters - Ensure conditions only reference earlier questions
Test all branches - Every conditional path should lead to a valid experience
Don't over-complicate - Complex conditional chains are hard to debug
Screening Rule Tips
Screen early - Place screening questions at the start
Be clear about criteria - Know exactly who qualifies
Consider the participant - Don't waste time screening on questions 20-30
Variable Tips
Keep it simple - Only use variables when truly needed
Test with data - Variables display actual answers, so test what participants see
Check for empty values - What if the referenced question was skipped?
Understanding Operators
Different question types support different comparison operators in rules:
Question Type | Available Operators |
Multiple choice (single) | Equals, Not equals, Is one of, Is not one of |
Multiple choice (multi) | Is one of, Is not one of |
Numeric | Equals, Not equals, Greater than, Less than |
Matrix | Equals, Not equals, Is one of, Is not one of |
Ranking | Equals, Not equals, Is one of, Is not one of |
Allocation | Equals, Not equals, Greater than, Less than |
Open text | AI automated checking |
Special Operators
Is empty / Is not empty - Check if a question was answered (no expected value needed)
AI automated checking - For open text, AI evaluates the response against criteria
Validation in Test Mode
When you enter test mode:
Validation runs automatically
Errors must be fixed before testing
You can preview the survey as a participant would experience it
Test all conditional branches and screening paths
Test mode helps you catch issues before real participants encounter them.