Skip to content
Justin SilverTECHNOLOGY, TRAVEL & EVERYTHING IN BETWEEN
Libraries & Tools
Validation and recordsGitHub

Validated Field for ACF

Validated Field adds input masks, server-side validation, uniqueness rules and read-only settings to Advanced Custom Fields. The current development version also includes a managed record workspace with permissions, relationships and editable tables. Free provides the shared validation and record services. A separate Pro add-on supplies calculations, automation and advanced workflows. Both Validated Field editions work with ACF Free or ACF Pro; licensed ACF field types still require ACF Pro.

Configure validation beside the field

Activate ACF and Validated Field, then choose Validated Field in the ACF field group editor and select the underlying input type. Add a mask, regular expression or trusted PHP rule, choose the uniqueness scope, and set read-only behavior where needed. Global settings are under Settings > Validated Field. The wrapper retains the native input settings, formatting and REST schema. Use native ACF groups, repeaters and flexible-content layouts with validated fields inside them.

Define and verify a validated field

  1. Choose the input

    Select the native ACF input and keep its existing field name and key. Use a mask when it suits the text format being collected.

  2. Set the rule

    Define a regular expression or PHP check and a useful error message. Choose where duplicates must be rejected, such as the same post type and field key.

  3. Check the save paths

    Try valid, malformed, duplicate and empty values. Check the forms, nested fields and REST routes that the site actually uses.

  4. Build the record workflow

    Use Free for managed records, relationships and table editing. Add Pro when the workflow needs formulas, approvals or advanced data tools.

Return a useful validation message

In a field's PHP validation setting, $value contains the submitted value. Return an error message when it is invalid and true when it is accepted. This example checks a URL. PHP rules execute trusted administrator code, so restrict who can edit them.

if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) {
    return 'Enter a valid URL.';
}
return true;

Manage records and native ACF tables in Free

Free includes private managed objects, record forms, permissions, relationships, audit history and basic CSV/configuration export. Lists support filters, scalar inline editing, Quick Add and personal column visibility, order and widths. Existing posts, pages and custom post types can opt into ACF tables while keeping their native editor, visibility and original ACF keys. Personal column preferences do not change another user's view or grant access to more records.

Add calculations and workflow tools with Pro

Validated Field Pro installs alongside Free. It adds formulas, rollups, automation, approvals and transitions, plus visual rule, policy, relationship and layout tools. Advanced tables add rich ACF inline editors, shared and assigned saved views, multiple sorts, nested and relative-date filters, filtered metrics and conditional formatting. Imports, audit restore, configuration preflight, generated record GraphQL, TypeScript client types and signed previews support connected applications. Every write uses Free's permission and validation services.

Preview bulk changes and inspect existing data

Pro background tools preview a frozen selection before bulk changes or exports. They recheck current permissions and record versions, report per-record outcomes and support recovery without overwriting later edits. Quality scans report invalid or missing values, broken references and duplicates without changing records. Each job snapshots up to 2,000 rows and processes batches of 20; CSV output is limited to 5 MiB. Up to 100 job snapshots are retained per site for 24 hours. Record and audit data remain separate from these temporary results.

Keep validation at the write boundary

A mask helps people enter data; server validation decides what can be saved. Ordinary ACF field uniqueness is an application-level check and can race under concurrent writes. Managed objects use transactional unique claims and record version checks. Custom integrations that write managed data must use the Records service. Direct update_field() calls for ordinary ACF content remain low-level APIs and need their own validation. Supported ACF forms and REST writes receive the wrapper's additional checks.

Understand updates and add-on removal

A Pro update license grants access to paid downloads and updates through the configured Double Entitle service. Expiration or a service outage leaves installed Pro features working. Free contains no licensing client. Removing Pro preserves records, field identities, configuration, views and audit history. Free blocks writes that require the missing Pro runtime, and affected jobs need administrator review before resuming after Pro returns.

Current development and compatibility

The current Free and Pro packages are version 1.8.0-dev and remain unreleased. They declare WordPress 6.0+, PHP 8.0+ and ACF 6.0+, but the declared minimums are not a fully qualified support matrix. ACF 4/5 runtimes are retired. Existing validated_field definitions, field keys and metadata names are retained. Check the repository's compatibility and edition documentation before testing an upgrade on a staging copy. The WordPress.org listing still describes the older published plugin.