Описание
Вызывается при валидации данных $_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