Описание функции acf_add_validation_error()
Функция acf_add_validation_error() добавляет ошибку валидации для пользовательских полей в плагине Advanced Custom Fields. Она используется для обработки ошибок валидации при сохранении данных в пользовательские поля, позволяя разработчикам сообщать пользователю о некорректно введенных данных.
Функция обычно используется в обработчиках валидации, которые привязываются к событию сохранения формы.
Параметры
$field_key
Тип: string
Обязательный: Да
Описание: Уникальный ключ поля, для которого добавляется ошибка валидации
Возможные значения:
$message
Тип: string
Обязательный: Да
Описание: Сообщение об ошибке валидации, которое будет показано пользователю
Возможные значения:
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает. Она просто добавляет сообщение об ошибке в систему ACF.
Возможные значения:
• Нет возвращаемых значений
Примеры использования
Простой пример добавления ошибки для обязательного поля
acf_add_validation_error('field_1234567890abc', 'Это поле обязательно для заполнения');
Ошибка будет отображена, если поле не заполнено
Добавление ошибки только при пустом значении поля
if( empty($value) ) {
acf_add_validation_error('field_1234567890abc', 'Это поле обязательно для заполнения');
}
Ошибка будет отображена только если поле пустое
Пример использования валидации в контексте ACF для проверки отрицательных значений
add_filter('acf/validate_value/key=field_1234567890abc', 'my_acf_validation', 10, 4);
function my_acf_validation($valid, $value, $form, $field) {
if( $value < 0 ) {
acf_add_validation_error($field['key'], 'Значение не может быть отрицательным');
}
return $valid;
}
Ошибка будет добавлена, если значение отрицательное
Безопасность
Валидация входных данных: Параметры field_key и message должны быть строками
Санитизация: Входные данные должны быть очищены от потенциально вредных символов
Рекомендации: Избегайте использования пользовательского ввода напрямую в сообщениях ошибок
— Связанные функции
Получает все ошибки валидации, добавленные через acf_add_validation_error()
Удаляет ошибку валидации, если она больше не актуальна
— Примечания
– Ограничения
Можно добавлять ошибки только для существующих полей ACF
– Частые проблемы
- Ошибка может не отображаться, если не используется правильный ключ поля
- Проблемы с отображением ошибок, если они добавляются после завершения валидации