функция
since 5.7.0
rest_validate_enum()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
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
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. |

