# rest_validate_enum()

URL: https://chugunov.pro/api-wordpress/functions/rest_validate_enum/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 5.7.0.

## Сигнатура

```php
rest_validate_enum( mixed $value, array $args, string $param ): true|WP_Error
```

## Описание

Проверяет, что заданное значение входит в «enum» JSON Schema.

## Параметры

- `$value` `mixed` — обязательный. Значение для проверки.
- `$args` `array` — обязательный. Используемый массив схемы.
- `$param` `string` — обязательный. Имя параметра, используемое в сообщениях об ошибках.

## Возвращаемое значение

`true|WP_Error` — WP_Error

## Исходный код

Файл: `wp-includes/rest-api.php:2092`

```php
function rest_validate_enum( $value, $args, $param ) {
	$sanitized_value = rest_sanitize_value_from_schema( $value, $args, $param );
	if ( is_wp_error( $sanitized_value ) ) {
		return $sanitized_value;
	}

	foreach ( $args['enum'] as $enum_value ) {
		if ( rest_are_values_equal( $sanitized_value, $enum_value ) ) {
			return true;
		}
	}

	$encoded_enum_values = array();
	foreach ( $args['enum'] as $enum_value ) {
		$encoded_enum_values[] = is_scalar( $enum_value ) ? $enum_value : wp_json_encode( $enum_value );
	}

	if ( count( $encoded_enum_values ) === 1 ) {
		/* translators: 1: Parameter, 2: Valid values. */
		return new WP_Error( 'rest_not_in_enum', wp_sprintf( __( '%1$s is not %2$s.' ), $param, $encoded_enum_values[0] ) );
	}

	/* translators: 1: Parameter, 2: List of valid values. */
	return new WP_Error( 'rest_not_in_enum', wp_sprintf( __( '%1$s is not one of %2$l.' ), $param, $encoded_enum_values ) );
}
```

## История изменений

- 5.7.0 — Introduced.

## Связанные

Использует: [`rest_are_values_equal`](https://chugunov.pro/api-wordpress/functions/rest_are_values_equal/), [`rest_sanitize_value_from_schema`](https://chugunov.pro/api-wordpress/functions/rest_sanitize_value_from_schema/), [`wp_sprintf`](https://chugunov.pro/api-wordpress/functions/wp_sprintf/), [`wp_json_encode`](https://chugunov.pro/api-wordpress/functions/wp_json_encode/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`is_wp_error`](https://chugunov.pro/api-wordpress/functions/is_wp_error/), `WP_Error::__construct`.
Используется в: [`rest_validate_value_from_schema`](https://chugunov.pro/api-wordpress/functions/rest_validate_value_from_schema/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/rest_validate_enum/
