acf/validate_save_post

Описание

Вызывается при валидации данных $_POST отправленной формы.

Используется для добавления или удаления ошибок валидации, определяющих, будут ли сохранены отправленные данные.

Обратите внимание: это общее действие. Если вы хотите валидировать значение конкретного поля, используйте фильтр acf/validate_value вместо него.

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

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

Пример

В этом примере показано, как обойти валидацию для администратора, а также как потребовать пользовательское значение ввода. Дополнительную информацию о используемых функциях см. в разделе Примечания ниже.

functions.php

add_action('acf/validate_save_post', 'my_acf_validate_save_post');
function my_acf_validate_save_post() {

    // Удалить все ошибки, если пользователь является администратором.
    if( current_user_can('manage_options') ) {
        acf_reset_validation_errors();
    }

    // Потребовать пользовательское значение ввода.
    if( empty($_POST['acf']['field_xxxxxx'] ) ) {
        acf_add_validation_error( 'acf[field_xxxxxx]', 'Пожалуйста, отметьте это поле, чтобы продолжить' );
    }
}

Примечания

Дополнительные функции

Следующие дополнительные функции доступны во время этого действия.

  • acf_add_validation_error()
    Добавляет ошибку валидации и предотвращает сохранение отправленных данных.

    acf_add_validation_error($input, [$message])
    
    • $input (string) (Обязательно) В качестве входных данных здесь следует использовать ключ поля ACF, а не имя поля.
    • $message (string) (Необязательно) Сообщение об ошибке для отображения.
  • acf_reset_validation_errors()
    Удаляет все ошибки валидации и позволяет сохранить отправленные данные.

    acf_reset_validation_errors()
    

Обновлено: 02.06.2026