On this page
rest_validate_array_value_from_schema( mixed $value, array $args, string $param ): true|WP_Error
Validates an array value based on a schema.
Parameters
$valuemixed Required-
The value to validate.
$argsarray Required-
Schema array to use for validation.
$paramstring Required-
The parameter name, used in error messages.
Return
true|WP_Error
Source
File: wp-includes/rest-api.php. View all references
function rest_validate_array_value_from_schema( $value, $args, $param ) {
if ( ! rest_is_array( $value ) ) {
return new WP_Error(
'rest_invalid_type',
/* translators: 1: Parameter, 2: Type name. */
sprintf( __( '%1$s is not of type %2$s.' ), $param, 'array' ),
array( 'param' => $param )
);
}
$value = rest_sanitize_array( $value );
if ( isset( $args['items'] ) ) {
foreach ( $value as $index => $v ) {
$is_valid = rest_validate_value_from_schema( $v, $args['items'], $param . '[' . $index . ']' );
if ( is_wp_error( $is_valid ) ) {
return $is_valid;
}
}
}
if ( isset( $args['minItems'] ) && count( $value ) < $args['minItems'] ) {
return new WP_Error(
'rest_too_few_items',
sprintf(
/* translators: 1: Parameter, 2: Number. */
_n(
'%1$s must contain at least %2$s item.',
'%1$s must contain at least %2$s items.',
$args['minItems']
),
$param,
number_format_i18n( $args['minItems'] )
)
);
}
if ( isset( $args['maxItems'] ) && count( $value ) > $args['maxItems'] ) {
return new WP_Error(
'rest_too_many_items',
sprintf(
/* translators: 1: Parameter, 2: Number. */
_n(
'%1$s must contain at most %2$s item.',
'%1$s must contain at most %2$s items.',
$args['maxItems']
),
$param,
number_format_i18n( $args['maxItems'] )
)
);
}
if ( ! empty( $args['uniqueItems'] ) && ! rest_validate_array_contains_unique_items( $value ) ) {
/* translators: %s: Parameter. */
return new WP_Error( 'rest_duplicate_items', sprintf( __( '%s has duplicate items.' ), $param ) );
}
return true;
}
Related
Uses
| Uses | Description |
|---|---|
| rest_sanitize_array() wp-includes/rest-api.php | Converts an array-like value to an array. |
| rest_validate_array_contains_unique_items() wp-includes/rest-api.php | Checks if an array is made up of unique items. |
| rest_is_array() wp-includes/rest-api.php | Determines if a given value is array-like. |
| rest_validate_value_from_schema() wp-includes/rest-api.php | Validate a value based on a schema. |
| _n() wp-includes/l10n.php | Translates and retrieves the singular or plural form based on the supplied number. |
| __() wp-includes/l10n.php | Retrieves the translation of $text. |
| number_format_i18n() wp-includes/functions.php | Converts float number to format based on the locale. |
| is_wp_error() wp-includes/load.php | Checks whether the given variable is a WordPress Error. |
| WP_Error::__construct() wp-includes/class-wp-error.php | Initializes the error. |
Used By
| Used By | Description |
|---|---|
| rest_validate_value_from_schema() wp-includes/rest-api.php | Validate a value based on a schema. |
Changelog
| Version | Description |
|---|---|
| 5.7.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/rest_validate_array_value_from_schema