Controlla se la richiesta è valida in base ai suoi attributi.

Restituisce

(vero|WP_Errore) Vero se non ci sono parametri da validare o se tutti passano la validazione, WP_Error se mancano i parametri richiesti.

Fonte

File: wp-includes/rest-api/class-wp-rest-request.php

publicfunctionhas_valid_params(){// If JSON data was passed, check for errors.$json_error=$this->parse_json_params();if(is_wp_error($json_error)){return$json_error;}$attributes=$this->get_attributes();$required=array();$args=empty($attributes['args'])?array():$attributes['args'];foreach($argsas$key=>$arg){$param=$this->get_param($key);if(isset($arg['required'])&&true===$arg['required']&&null===$param){$required[]=$key;}}if(!empty($required)){returnnewWP_Error('rest_missing_callback_param',/* translators: %s: List of required parameters. */sprintf(__('Missing parameter(s): %s'),implode(', ',$required)),array('status'=>400,'params'=>$required,));}/*
		 * Check the validation callbacks for each registered arg.
		 *
		 * This is done after required checking as required checking is cheaper.
		 */$invalid_params=array();$invalid_details=array();foreach($argsas$key=>$arg){$param=$this->get_param($key);if(null!==$param&&!empty($arg['validate_callback'])){/** @var bool|WP_Error $valid_check */$valid_check=call_user_func($arg['validate_callback'],$param,$this,$key);if(false===$valid_check){$invalid_params[$key]=__('Invalid parameter.');}if(is_wp_error($valid_check)){$invalid_params[$key]=implode(' ',$valid_check->get_error_messages());$invalid_details[$key]=rest_convert_error_to_response($valid_check)->get_data();}}}if($invalid_params){returnnewWP_Error('rest_invalid_param',/* translators: %s: List of invalid parameters. */sprintf(__('Invalid parameter(s): %s'),implode(', ',array_keys($invalid_params))),array('status'=>400,'params'=>$invalid_params,'details'=>$invalid_details,));}if(isset($attributes['validate_callback'])){$valid_check=call_user_func($attributes['validate_callback'],$this);if(is_wp_error($valid_check)){return$valid_check;}if(false===$valid_check){// A WP_Error instance is preferred, but false is supported for parity with the per-arg validate_callback.returnnewWP_Error('rest_invalid_params',__('Invalid parameters.'),array('status'=>400));}}returntrue;}

Correlato

Utilizzi

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

Converte un errore in un oggetto risposta.

wp-includes/rest-api/class-wp-rest-request.php: WP_REST_Request::get_attributes()

Recupera gli attributi della richiesta.

wp-includes/rest-api/class-wp-rest-request.php: WP_REST_Request::parse_json_params()

Analizza i parametri JSON.

wp-includes/rest-api/class-wp-rest-request.php: WP_REST_Request::get_param()

Recupera un parametro dalla richiesta.

wp-includes/l10n.php: __()

Recupera la traduzione di $testo.

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.

Changelog

Versione Descrizione
4.4.0 Introdotto.