Description
Used to perform custom validation on the field’s $value
before it is saved into the database.
Changelog
- Added in version 5.0.0
Parameters
apply_filters( 'acf/validate_value', $valid, $value, $field, $input_name );
$valid
(mixed) Whether or not the value is valid (boolean) or a custom error message (string).$value
(mixed) The field value.$field
(array) The field array containing all settings.$input_name
(string) The field DOM element name attribute.
Modifers
This filter provides modifiers to target specific fields. The following filter names are available:
acf/validate_value
Applies to all fields.acf/validate_value/type={$type}
Applies to all fields of a specific type.acf/validate_value/name={$name}
Applies to all fields of a specific name.acf/validate_value/key={$key}
Applies to all fields of a specific key.
Example
This example demonstrates how to validate a field’s value and return a custom error message.
functions.php
<?php
function my_acf_validate_value( $valid, $value, $field, $input_name ) {
// Bail early if value is already invalid.
if( $valid !== true ) {
return $valid;
}
// Prevent value from saving if it contains the companies old name.
if( is_string($value) && strpos($value, 'Old Company Name') !== false ) {
return __( 'Please remove mention of "Old Company Name".' );
}
return $valid;
}
// Apply to all fields.
add_filter('acf/validate_value', 'my_acf_validate_value', 10, 4);
// Apply to textarea fields.
// add_filter('acf/validate_value/type=textarea', 'my_acf_validate_value', 10, 4);
// Apply to fields named "hero_text".
// add_filter('acf/validate_value/name=hero_text', 'my_acf_validate_value', 10, 4);
// Apply to field with key "field_123abcf".
// add_filter('acf/validate_value/key=field_123abcf', 'my_acf_validate_value', 10, 4);
Supercharge Your Website With Premium Features Using ACF PRO
Speed up your workflow and unlock features to better develop websites using ACF Blocks and Options Pages, with the Flexible Content, Repeater, Clone, Gallery Fields & More.