acf/validate_value

Описание

Используется для выполнения пользовательской проверки значения поля $value перед его сохранением в базе данных.

Журнал изменений

  • Добавлено в версии 5.0.0

Параметры

apply_filters( 'acf/validate_value', $valid, $value, $field, $input_name );
  • $valid (mixed) Является ли значение допустимым (boolean) или пользовательским сообщением об ошибке (string).
  • $value (mixed) Значение поля.
  • $field (array) Массив поля, содержащий все настройки.
  • $input_name (string) Атрибут name DOM-элемента поля.

Модификаторы

Этот фильтр предоставляет модификаторы для выбора конкретных полей. Доступны следующие имена фильтров:

  • acf/validate_value Применяется ко всем полям.
  • acf/validate_value/type={$type} Применяется ко всем полям определённого типа.
  • acf/validate_value/name={$name} Применяется ко всем полям с определённым именем.
  • acf/validate_value/key={$key} Применяется ко всем полям с определённым ключом.

Пример

В этом примере показано, как проверить значение поля и вернуть пользовательское сообщение об ошибке.

functions.php

<?php
function my_acf_validate_value( $valid, $value, $field, $input_name ) {

    // Прервите выполнение, если значение уже недопустимо.
    if( $valid !== true ) {
        return $valid;
    }

    // Не сохраняйте значение, если оно содержит старое название компании.
    if( is_string($value) && strpos($value, 'Old Company Name') !== false ) {
        return __( 'Пожалуйста, удалите упоминание «Old Company Name».' );
    }
    return $valid;
}

// Применить ко всем полям.
add_filter('acf/validate_value', 'my_acf_validate_value', 10, 4);

// Применить к полям textarea.
// add_filter('acf/validate_value/type=textarea', 'my_acf_validate_value', 10, 4);

// Применить к полям с именем "hero_text".
// add_filter('acf/validate_value/name=hero_text', 'my_acf_validate_value', 10, 4);

// Применить к полю с ключом "field_123abcf".
// add_filter('acf/validate_value/key=field_123abcf', 'my_acf_validate_value', 10, 4);

Обновлено: 02.06.2026