List Validation
Common Use Cases
- Numeric ranges: keep a rating, percentage, or quantity within allowed bounds
- Date sequencing: require an end date on or after a start date
- Required-when rules: demand a value only when another field has a certain value
- Format enforcement: check that a code or ID matches an expected length or pattern
- Budget ceilings: block a total that exceeds an approved amount
- Consistent choices: prevent contradictory combinations across two columns
How It Works
- Formula returns Boolean: the expression must resolve to TRUE to save or FALSE to block
- Two scopes: column validation for one field, list validation for many
- Excel-style syntax: the same functions and operators as calculated columns
- Server-side enforcement: applies to the form, Quick Edit, and imports alike
- User message: a custom line of text shown when the rule fails
- Runs on save: checked every time an item is created or edited
Benefits
- No code: pure configuration in the browser, no Power Automate or scripts
- Cleaner data: bad entries are stopped before they ever land in the list
- Cross-field logic: list validation compares columns to catch contradictions
- Clear guidance: your message tells the user exactly how to fix the entry
- Universal coverage: works across every entry path because it is server-side
- Instant feedback: the user sees the error immediately, not after a workflow runs
Details
- Feature Category: Columns & Views
Settings
- Column validation location: the column settings page, in the Column Validation section
- List validation location: List or Library Settings, on the Validation settings page
- Formula box: where you enter the TRUE or FALSE expression
- User message box: the text displayed when validation fails
- Column references: point at fields by their displayed names in square brackets
- Save to activate: the rule takes effect immediately for all users
Limits and Nuances
- No [Today] or [Me]: volatile values are blocked in validation formulas
- Current item only: a formula cannot see other items or other lists
- Narrow column scope: column-level validation reads only its own field
- Some types excluded: multi-select and certain complex columns cannot be validated
- Separate from uniqueness: enforcing unique values is its own column setting, not validation
- One message per rule: the same text shows for every way the rule can fail
Common Questions About List Validation
What is list validation in SharePoint?
It is an out-of-the-box way to enforce data-quality rules using a formula that must evaluate to TRUE before an item can be saved. Column validation checks a single field, while list validation can compare several columns in the same item. Both display a custom message when the rule is broken, and both run on the server, so they apply to every way an item is entered.
What is the difference between column validation and list validation?
Column validation is set on one column and can only reference that same column, which makes it ideal for simple range or format checks. List validation is set at the list or library level and can reference multiple columns in the same item, so it can compare an end date to a start date or require one field based on another. Use column validation for single-field rules and list validation for cross-field logic.
Can a validation formula use [Today] or [Me]?
No. Unlike a calculated default value, validation formulas do not support the [Today] or [Me] placeholders. The rule is evaluated when the item is saved and must be deterministic, so time-based and user-based tokens are disallowed. If you need to compare against the current date or user, you generally handle it with a default value or an automated flow rather than validation.
What message do users see when validation fails?
Each validation rule has a user message box where you type the text shown when the formula returns FALSE. A good message explains both the rule and the fix, for example the end date must be on or after the start date. The item will not save until the entry satisfies the formula, so a clear, specific message saves the user from guessing what went wrong.
Why can validation not check other items or lists?
A validation formula only has access to the single item being saved. It cannot look up values in other rows, other lists, or external sources, because it runs as a lightweight server-side check at save time rather than a full query. Requirements like this ID must be unique or this must match a record in another list fall outside validation and need the Enforce Unique Values setting or an automated flow.
When should I use validation instead of a workflow?
Reach for validation when the rule depends only on the current item and should block a bad save instantly – ranges, date order, required-when conditions, and format checks. Choose Power Automate when the logic needs other lists, external data, approvals, or actions after the save. Greg Zelfond, the consultant behind LookBook 365, treats validation as the first line of defense and layers automation on top only when a rule genuinely reaches beyond the single item.