acf_add_validation_error()ACF 5.0.0

Добавляет ошибку проверки и предотвращает сохранение отправленных данных из формы ACF.

Как правило используется на хуке acf/validate_save_post.

Хуков нет.

Возвращает

null. Ничего. Обрывает выполнение сохранения данных.

Использование

acf_add_validation_error( $input, $message );
$input (обязательный)

Содержимое атрибута name поля, для которого нужно вывести ошибку. Формат acf[ключ поля], к примеру acf[field_615baebe3f16d]. Это связано с тем, что именно по этому значению JS будет искать поле.

Если передать пустую строку, то ошибка будет относится к общей ошибке и выведена над отправляемой формой.

$message
Сообщение об ошибке, к примеру Шеф, всё пропало! Всё пропало!.
По умолчанию: ''

Примеры

0

#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]', 'Заполните это поле!' );
	}
}
0

#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 6.0.4

function acf_add_validation_error( $input, $message = '' ) {

	return acf()->validation->add_error( $input, $message );

}