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 5.10.2

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

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

}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *