Field Validation
Set validation rules on columns to ensure data quality. Validation prevents bad data from entering your table: required fields that can't be empty, numbers within ranges, text matching patterns, and custom formula-based rules.
Setting up validation
- Click the column header → Column settings (or right-click → Settings)
- Go to the Validation section
- Add one or more validation rules
- Click Save
Available validation rules
Required
| Setting | Description |
|---|---|
| Required | Field cannot be empty. New rows and edits must include a value. |
Text validation
| Rule | Description | Example |
|---|---|---|
| Min length | Minimum character count | Min 2 for names |
| Max length | Maximum character count | Max 500 for notes |
| Pattern (regex) | Text must match a regular expression | ^[A-Z]{2}-\d{4}$ for codes like "AB-1234" |
| No duplicates | Value must be unique across all rows | Email addresses, ID numbers |
Number validation
| Rule | Description | Example |
|---|---|---|
| Min value | Number must be greater than or equal to | Min 0 for quantities |
| Max value | Number must be less than or equal to | Max 100 for percentages |
| Integer only | No decimal values allowed | Counts, quantities |
| Positive only | Must be greater than 0 | Prices, amounts |
Date validation
| Rule | Description | Example |
|---|---|---|
| Not in past | Date must be today or in the future | Deadlines, event dates |
| Not in future | Date must be today or in the past | Birth dates, start dates |
| After date | Must be after a specific date | After contract start |
| Before date | Must be before a specific date | Before contract end |
Choice validation
| Rule | Description |
|---|---|
| Required selection | At least one option must be selected |
| Max selections | Maximum number of options for multi-select fields |
| Min selections | Minimum number of options for multi-select fields |
Custom formula validation
Write a formula that must evaluate to true:
// Value must be a valid US phone format
REGEX(value, "^\\+1\\d{10}$")
// End date must be after start date
{End Date} > {Start Date}
// Budget must be in multiples of 100
MOD(value, 100) == 0
// At least one contact method required
NOT(AND(ISEMPTY({Email}), ISEMPTY({Phone})))
Validation behavior
When validation runs
| Action | Validated? |
|---|---|
| Manual cell edit | Yes (inline error shown) |
| Row detail edit | Yes (error below the field) |
| API create/update | Yes (400 error returned) |
| CSV import | Yes (invalid rows are flagged) |
| Workflow Create/Update Record | Yes (node fails with error) |
| Paste from clipboard | Yes (invalid cells are highlighted) |
Error display
When validation fails:
- The cell border turns red
- An error message appears below the field: "Value must be between 0 and 100"
- The change is not saved until the error is fixed
- Other cells can still be edited; validation is per-cell
Bulk validation
When importing CSV data or pasting multiple rows:
- All rows are validated before import
- Invalid rows are flagged with the specific error
- You can choose to:
- Skip invalid rows: import only valid rows
- Fix and retry: edit invalid values and retry
- Import all: import with errors (validation warnings but data is saved)
Common validation patterns
| Use case | Column type | Rules |
|---|---|---|
| Email address | Text | Required, Pattern: ^[^\s@]+@[^\s@]+\.[^\s@]+$, No duplicates |
| Phone number | Text | Pattern: ^\+?\d{10,15}$ |
| Percentage | Number | Min: 0, Max: 100 |
| Price | Number | Positive only, Max: 999999.99 |
| Project code | Text | Required, Pattern: ^PRJ-\d{4}$, No duplicates |
| Rating | Number | Min: 1, Max: 5, Integer only |
Tip
Start with Required and No duplicates on your most important columns (email, ID fields). Add pattern validation later as you identify common data entry mistakes.
Warning
Adding validation rules to existing columns does not retroactively validate existing data. Existing rows may contain values that don't meet the new rules. Only new edits and new rows will be validated.