A Gravity Forms List field works well when users need to enter the same type of information more than once. But the native List field does not give each column its own field-specific validation.
For example, a team roster may contain a name, work email, and employee ID in every row. You may want email addresses checked for valid formatting and employee IDs to follow a fixed rule such as EMP0042.
In this tutorial, we use GravityWP List Text to add column-level validation to a repeatable Gravity Forms List field.
We tested the complete workflow before writing this guide. Invalid emails and employee IDs were rejected, an invalid email in the second row blocked a three-row submission, and the corrected roster was stored successfully in the Gravity Forms entry.
What Does This Gravity Forms List Field Validation Workflow Do?
This workflow turns a standard multi-column Gravity Forms List field into a repeatable team roster with different validation rules for specific columns.
You will:
- Create a Team Members List field with Full Name, Work Email, and Employee ID columns.
- Add email validation to the Work Email column.
- Add custom regex validation to the Employee ID column.
- Use /^EMP\d{4}$/ to accept IDs such as EMP0042.
- Test invalid email addresses and employee IDs.
- Confirm that validation works across multiple repeatable rows.
- Submit a valid three-row roster.
- Verify the saved List values in the Gravity Forms entry.
Completed workflow: Gravity Forms List field → List Text column validation → invalid values blocked → valid repeatable rows submitted → rows stored in the Gravity Forms entry.
| Tested limitation: This tutorial covers format validation, not required validation for every List cell. In our test, blank Full Name, Work Email, and Employee ID cells were accepted. Invalid entered values were rejected. |
Why Does a Gravity Forms List Field Need Column Validation?
Gravity Forms supports repeatable rows and multiple labeled columns inside a List field. However, the official Gravity Forms List field documentation states that the List field does not perform field-specific validation.
Marking the overall List field as Required also does not make every cell in every row required. Gravity Forms checks that at least one row contains a non-empty value.
That means the native field does not automatically know that:
- Work Email should contain a valid email address.
- Employee ID should follow a fixed format.
- Different columns need different text rules.
Developers can also use the Gravity Forms gform_field_validation filter to validate a specific field with custom PHP. For this workflow, however, List Text lets us configure column validation inside the form editor without adding a custom PHP snippet.
What Do You Need?
- Gravity Forms
- GravityWP List Text
- A form with a multi-column List field
List Text works with single- and multi-column List fields and lets each column be configured independently. Its product page also states that only one text option can be selected per column: email validation, textarea, or regex.
For our test, we used one List field named Team Members with these columns:
| Column | Purpose |
| Full Name | Team member’s name |
| Work Email | Validated email address |
| Employee ID | Custom EMP + four-digit format |
Step 1: Create the Team Members List Field
In WordPress, go to Forms → New Form. Create a blank form named Team Onboarding Roster.
Add a List field from the Advanced Fields section. Change the field label to Team Members.
Enable: Enable multiple columns
Create these three columns:
- Full Name
- Work Email
- Employee ID
We also marked the overall Team Members List field as Required. That field setting applies to the List field as a whole. It does not make each individual input required.
Step 2: Configure the Full Name Column
Open the List Text options for Full Name. Enable Text Options, then select Enable Custom Validation (RegEx).
Regex:
/^.*\S.*$/
Placeholder: Full name
Custom error message: Enter a full name.
A value such as Alex Rivera passed the rule. However, leaving Full Name completely blank also passed in our test.
For that reason, do not treat this regex as a way to make the Full Name column required. The main validation examples below focus on the Work Email and Employee ID columns, where malformed entered values were rejected.
Step 3: Validate the Work Email Column
Open the field settings for the Work Email column. Enable Text Options, then select Enable Email Validation.
Placeholder: name@company.com
GravityWP documents how to enable email validation in a List column, including separate configuration for columns in a multi-column List field.
Later, we tested alex.riveraexample.com. The form rejected it because the address was not valid. A value such as alex.rivera@example.com passed.
Step 4: Add Custom Validation to the Employee ID Column
Open the Employee ID List Text field settings. Enable Text Options, then select Enable Custom Validation (RegEx).
Regex:
/^EMP\d{4}$/
Placeholder: EMP0000
Custom error message: EMP followed by 4 digits, for example EMP0042
If you want a deeper explanation of regex syntax, see create a custom regex validation rule in the List Text documentation.
/^EMP\d{4}$/ regex rule and a custom error message.What Does the Employee ID Regex Mean?
/^EMP\d{4}$/
| Part | Meaning |
| ^ | Start of the value |
| EMP | The value must begin with EMP |
| \d{4} | Exactly four digits |
| $ | End of the value |
These values match:
EMP0042
EMP1287
EMP3051
These do not:
EMP42
EMP00042
STAFF0042
EMP12A4
emp0042
The List Text regex documentation states that regular expressions are case-sensitive by default. That is why lowercase emp0042 does not match this rule.
Step 5: Test an Invalid Work Email
Before relying on the setup, test the validation. We entered:
| Full Name | Work Email | Employee ID |
| Alex Rivera | alex.riveraexample.com | EMP0042 |
Then we submitted the form. The invalid field value blocked the submission, and List Text displayed:
The column ‘Work Email’ requires a valid e-mail address.
This matches the normal Gravity Forms validation flow: Gravity Forms validates fields before the entry is saved.
Step 6: Test an Invalid Employee ID
Next, we used a valid email address but changed Employee ID to EMP42.
| Full Name | Work Email | Employee ID |
| Alex Rivera | alex.rivera@example.com | EMP42 |
The invalid field value prevented the form submission. The custom Employee ID error message appeared and confirmed that the /^EMP\d{4}$/ rule rejected EMP42 in the actual form.
EMP42 fails the custom regex validation rule.Step 7: Validate Input Across Multiple List Field Rows
The next test checked validation across the input fields in several repeatable List rows. We entered:
| Full Name | Work Email | Employee ID |
| Alex Rivera | alex.rivera@example.com | EMP0042 |
| Mei Chen | mei.chenexample.com | EMP1287 |
| Jordan Lee | jordan.lee@example.com | EMP3051 |
Only Row 2 contained an invalid value. When we submitted the form:
- The submission was blocked.
- The Work Email validation message appeared.
- All three rows remained populated.
When one of the columns contains an invalid Work Email, the whole submission is blocked while all three entered List rows stay populated.
This is useful for longer rosters because the user can fix the invalid row without entering the other rows again.
Step 8: Submit a Valid Three-Row Team Roster
We corrected Mei Chen’s email address to mei.chen@example.com. The final roster contained:
| Full Name | Work Email | Employee ID |
| Alex Rivera | alex.rivera@example.com | EMP0042 |
| Mei Chen | mei.chen@example.com | EMP1287 |
| Jordan Lee | jordan.lee@example.com | EMP3051 |
All three rows passed validation, and the form submitted successfully.
Step 9: Verify the Stored Gravity Forms Entry
A successful front-end submission is useful, but we also want to confirm that the repeatable data was saved correctly.
Go to Forms → Entries → Team Onboarding Roster and open the newest entry.
Our successful test entry contained all three rows:
| Full Name | Work Email | Employee ID |
| Alex Rivera | alex.rivera@example.com | EMP0042 |
| Mei Chen | mei.chen@example.com | EMP1287 |
| Jordan Lee | jordan.lee@example.com | EMP3051 |
This final check confirms that the validated repeatable data was saved as part of the Gravity Forms entry.
Does Gravity Forms Require All Columns in a List Field Row?
No, not in the setup we tested.
This is an important difference between format validation and required validation.
We separately tested:
- A blank Full Name
- A blank Work Email
- A blank Employee ID
Each submission was accepted when the remaining values were valid.
| Scenario | Tested result |
| Invalid email entered | Rejected |
| Blank email | Allowed |
| Invalid Employee ID entered | Rejected |
| Blank Employee ID | Allowed |
| Blank Full Name | Allowed |
So List Text validated entered values, but it did not make individual List cells required in our test. Even when the overall List field is marked as Required, blank individual cells were accepted.
If your workflow needs every column in every row to contain a value, that is a different validation requirement. The official gform_field_validation documentation includes an example that requires all inputs in a List field.
For this tutorial, we stayed with the no-code format validation available through List Text.
List Text Validation vs. Required List Columns
The table below summarizes what our tested List Text setup validates and what it does not require.
| Requirement | Tested behavior |
| Validate an entered email address | List Text Email Validation rejects an invalid email value. |
| Validate an entered Employee ID | Custom Validation rejects a value that does not match the regex rule. |
| Reject an invalid field value | Yes. The form submission is blocked until the value is corrected. |
| Require every column in every row | No. Blank individual List cells were allowed in our test. |
| Mark the whole List field as Required | Requires data in the List field, not every individual cell. |
Validation Summary
In our tested workflow:
- An entered Work Email must pass email validation.
- An entered Employee ID must match the custom regex rule.
- Blank individual List cells were allowed, so format validation is different from requiring all columns.
This distinction keeps the validation rules clear for repeatable data and prevents the tutorial from implying that every List input is required.
Why Use List Text for Gravity Forms List Field Validation?
Without List Text, the native List field does not provide separate email and regex validation settings for individual columns.
For our roster, we needed:
Work Email → Email Validation
Employee ID → Custom Regex Validation
List Text let us configure both rules independently inside the Gravity Forms editor.
This can fit repeatable data such as employee rosters, contact lists, team members, reference numbers, account identifiers, or other structured text values.
The important distinction is that List Text controls the format of entered values. It does not automatically require every List cell.
For List fields that also need dates, dropdowns, or number formatting, see our complex Gravity Forms List field tutorial. You can also review the broader Gravity Forms List Field Add-Ons guide.
Final Thoughts
Gravity Forms List fields make repeatable data easy to collect, but different columns may need different validation rules.
In our tested Team Onboarding Roster, GravityWP List Text let us:
- Validate Work Email values.
- Validate Employee IDs with regex.
- Catch an invalid value in a repeatable row.
- Submit a valid three-row roster.
- Store all three rows in the Gravity Forms entry.
The main limitation is equally important: List Text validation did not make individual List cells required in our test.
Use List Text when your goal is to validate the format of entered field values inside repeatable Gravity Forms List rows.
For deeper setup details, see the List Text documentation, the guide to enable email validation in a List column, and the guide to create a custom regex validation rule.
Gravity Forms List Field Validation FAQ
The native Gravity Forms List field does not provide field-specific validation for each input. GravityWP List Text adds validation options to a specific column, including email validation and custom regex validation.
Yes. List Text includes an Enable Email Validation option for individual List columns. In our test, alex.riveraexample.com was rejected, while alex.rivera@example.com passed.
Yes. List Text supports custom regex validation for individual text columns. For this tutorial, we used /^EMP\d{4}$/ to validate Employee IDs.
It accepts uppercase EMP followed by exactly four digits. EMP0042 passes. EMP42, emp0042, STAFF0042, and EMP12A4 do not match the rule.
No. The current List Text product page states that one text option can be selected per column: email validation, textarea, or regex. In our workflow, Work Email used Email Validation while Employee ID used Custom Validation (RegEx).
Not in our tested setup. Even when the overall List field is marked as Required, blank Full Name, Work Email, and Employee ID cells were accepted. Invalid field values were rejected when a value was entered. If every List cell must contain a value, you need separate required-column validation.
Yes, based on our test. We entered three rows and placed an invalid email in Row 2. The entire submission was blocked, while all entered rows remained available for correction. After we fixed the invalid email, all three rows submitted successfully.
Yes. Our successful three-row roster was stored in one Gravity Forms entry with the Full Name, Work Email, and Employee ID values for all three rows.
Our Premium add-ons for Gravity Forms
n8n Connector
Connect Gravity Forms to n8n and automate your workflows with secure, flexible, and powerful webhooks. Go beyond simple notifications and build advanced, two-way automations.
Advanced Merge Tags
This Gravity Forms Add-On adds extra Merge Tag modifiers (and a lot of power). From the most common used functions like capitalize and length to changing date formats.
List Number Format
With this Gravity Forms Add-on you can change List Field columns into a number field, do calculations within a row or column. Extra merge tags are available with total counts of columns.
List Dropdown
Add a Dropdown Select with choices to a column or multiple columns in a Gravity Forms List Field.
Read tutorials about
How to Validate Repeatable Contact Rows in Gravity Forms
Learn how to validate repeatable Gravity Forms List field rows with GravityWP List Text. This tutorial shows how to add email and regex validation, test invalid values, and confirm that valid team roster data is stored correctly.
Gravity Forms Airtable Integration: Create Records From Form Submissions
Learn how to build a Gravity Forms Airtable integration with GravityWP API Connector. Send form submissions to Airtable, create new records automatically, and save the returned Airtable Record ID and response back to Gravity Forms.
Gravity Forms Asana Integration: Create Tasks From Form Submissions
Learn how to connect Gravity Forms to Asana with GravityWP API Connector. This tested workflow creates Asana tasks from form submissions and saves the returned task ID and URL back to Gravity Forms.
Gravity Forms Google Calendar Integration: Create Events From Form Submissions
Connect Gravity Forms to Google Calendar with GravityWP API Connector. Learn how to create calendar events from form submissions, map event details, configure OAuth 2.0, handle time zones, and save the returned Event ID and URL.