Convalida il valore di un oggetto in base a uno schema.

Parametri

$valore

(misto)(Richiesto)Il valore da convalidare.

$args

(array)(Richiesto)Array di schemi da usare per la validazione.

$param

(stringa)(Richiesto)Il nome del parametro, utilizzato nei messaggi di errore.

Ritorno

(vero|WP_Error)

Fonte

File: wp-includes/rest-api.php

functionrest_validate_object_value_from_schema($value,$args,$param){if(!rest_is_object($value)){returnnewWP_Error('rest_invalid_type',/* translators: 1: Parameter, 2: Type name. */sprintf(__('%1$s is not of type %2$s.'),$param,'object'),array('param'=>$param));}$value=rest_sanitize_object($value);if(isset($args['required'])&&is_array($args['required'])){// schema version 4foreach($args['required']as$name){if(!array_key_exists($name,$value)){returnnewWP_Error('rest_property_required',/* translators: 1: Property of an object, 2: Parameter. */sprintf(__('%1$s is a required property of %2$s.'),$name,$param));}}}elseif(isset($args['properties'])){// schema version 3foreach($args['properties']as$name=>$property){if(isset($property['required'])&&true===$property['required']&&!array_key_exists($name,$value)){returnnewWP_Error('rest_property_required',/* translators: 1: Property of an object, 2: Parameter. */sprintf(__('%1$s is a required property of %2$s.'),$name,$param));}}}foreach($valueas$property=>$v){if(isset($args['properties'][$property])){$is_valid=rest_validate_value_from_schema($v,$args['properties'][$property],$param'['$property']');if(is_wp_error($is_valid)){return$is_valid;}continue;}$pattern_property_schema=rest_find_matching_pattern_property_schema($property,$args);if(null!==$pattern_property_schema){$is_valid=rest_validate_value_from_schema($v,$pattern_property_schema,$param'['$property']');if(is_wp_error($is_valid)){return$is_valid;}continue;}if(isset($args['additionalProperties'])){if(false===$args['additionalProperties']){returnnewWP_Error('rest_additional_properties_forbidden',/* translators: %s: Property of an object. */sprintf(__('%1$s is not a valid property of Object.'),$property));}if(is_array($args['additionalProperties'])){$is_valid=rest_validate_value_from_schema($v,$args['additionalProperties'],$param'['$property']');if(is_wp_error($is_valid)){return$is_valid;}}}}if(isset($args['minProperties'])&&count($value)<$args['minProperties']){returnnewWP_Error('rest_too_few_properties',/* translators: 1: Parameter, 2: Number. */sprintf(_n('%1$s must contain at least %2$s property.','%1$s must contain at least %2$s properties.',$args['minProperties']),$param,number_format_i18n($args['minProperties'])));}if(isset($args['maxProperties'])&&count($value)>$args['maxProperties']){returnnewWP_Error('rest_too_many_properties',/* translators: 1: Parameter, 2: Number. */sprintf(_n('%1$s must contain at most %2$s property.','%1$s must contain at most %2$s properties.',$args['maxProperties']),$param,number_format_i18n($args['maxProperties'])));}returntrue;}

Correlato

Utilizzi

Usi Descrizione
wp-includes/rest-api.php: rest_find_matching_pattern_property_schema()

Trova lo schema di una proprietà usando la parola chiave patternProperties.

wp-includes/rest-api.php: rest_is_object()

Determina se un dato valore è di tipo oggetto.

wp-includes/rest-api.php: rest_sanitize_object()

Converte un valore simile a un oggetto in un oggetto.

wp-includes/rest-api.php: rest_validate_value_from_schema()

Convalida un valore basato su uno schema.

wp-includes/l10n.php: __()

Recupera la traduzione di $testo.

wp-includes/l10n.php: _n()

Traduce e recupera la forma singolare o plurale in base al numero fornito.

wp-includes/functions.php: numero_formato_i18n()

Converte un numero float in un formato basato sul locale.

wp-includes/load.php: is_wp_error()

Controlla se la variabile data è un errore di WordPress.

wp-includes/class-wp-error.php: WP_Error::__construct()

Inizializza l'errore.

Utilizzato da

Usato da Descrizione
wp-includes/rest-api.php: rest_validate_value_from_schema()

Convalida un valore basato su uno schema.

Changelog

Versione Descrizione
5.7.0 Introdotto.