acf_add_validation_error()
Добавляет ошибку проверки и предотвращает сохранение отправленных данных из формы ACF.
Как правило используется на хуке acf/validate_save_post.
Хуков нет.
Возвращает
null
. Ничего. Обрывает выполнение сохранения данных.
Использование
acf_add_validation_error( $input, $message );
- $input (обязательный)
Содержимое атрибута name поля, для которого нужно вывести ошибку. Формат
acf[ключ поля]
, к примеруacf[field_615baebe3f16d]
. Это связано с тем, что именно по этому значению JS будет искать поле.
Если передать пустую строку, то ошибка будет относится к общей ошибке и выведена над отправляемой формой.
- $message
- Сообщение об ошибке, к примеру
Шеф, всё пропало! Всё пропало!
.
По умолчанию: ''
Примеры
#1 Проверим поле и выведем ошибку
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_615baebe3f16d']) ) { acf_add_validation_error( 'acf[field_615baebe3f16d]', 'Заполните это поле!' ); } }
#2 Возвращаемые данные
Пример возвращаемых данных для одного поля:
{ "success": true, "data": { "valid": 0, "errors": [ { "input": "acf[field_615baebe3f16d]", "message": "Это слишком маленький ценник для таких видов работ." } ] } }
Пример возвращаемых данных для общей ошибки:
{ "success": true, "data": { "valid": 0, "errors": [ { "input": "", "message": "Нужно указать цену перевозки хотя бы для одного вида транспорта: \"Легковой авто\", \"Внедорожник\" или \"Микроавтобус\"." } ] } }
Список изменений
С версии 5.0.0 | Введена. |
Код acf_add_validation_error() acf add validation error ACF 6.0.4
function acf_add_validation_error( $input, $message = '' ) { return acf()->validation->add_error( $input, $message ); }