rest_find_any_matching_schema( mixed $value, array $args, string $param )

Finds the matching schema among the “anyOf” schemas.

Parameters

$value

(mixed) (Required) The value to validate.

$args

(array) (Required) The schema array to use.

$param

(string) (Required) The parameter name, used in error messages.

Return

(array|WP_Error) The matching schema or WP_Error instance if all schemas do not match.

Source

File: wp-includes/rest-api.php

function rest_find_any_matching_schema( $value, $args, $param ) {
	$errors = array();

	foreach ( $args['anyOf'] as $index => $schema ) {
		if ( ! isset( $schema['type'] ) && isset( $args['type'] ) ) {
			$schema['type'] = $args['type'];
		}

		$is_valid = rest_validate_value_from_schema( $value, $schema, $param );
		if ( ! is_wp_error( $is_valid ) ) {
			return $schema;
		}

		$errors[] = array(
			'error_object' => $is_valid,
			'schema'       => $schema,
			'index'        => $index,
		);
	}

	return rest_get_combining_operation_error( $value, $param, $errors );
}

Changelog

Version Description
5.6.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/rest_find_any_matching_schema