Dopo la nostra prolungata raccolta di informazioni abbiamo risolto questo problema presentato da alcuni utenti. Ti diamo la soluzione e il nostro obiettivo è che sia di grande supporto.
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. |
Ricorda qualcosa, che ti permettiamo di commentare se fosse necessario.