WP_Ability::validate_inputpublicWP 6.9.0

Validates input data against the input schema.

Method of the class: WP_Ability{}

No Hooks.

Returns

true|WP_Error. Returns true if valid or the WP_Error object if validation fails.

Usage

$WP_Ability = new WP_Ability();
$WP_Ability->validate_input( $input );
$input(mixed)
The input data to validate.
Default: null

Changelog

Since 6.9.0 Introduced.

WP_Ability::validate_input() code WP 7.0.2

public function validate_input( $input = null ) {
	$input_schema = $this->get_input_schema();
	if ( empty( $input_schema ) ) {
		if ( null === $input ) {
			return true;
		}

		return new WP_Error(
			'ability_missing_input_schema',
			sprintf(
				/* translators: %s ability name. */
				__( 'Ability "%s" does not define an input schema required to validate the provided input.' ),
				esc_html( $this->name )
			)
		);
	}

	$valid_input = rest_validate_value_from_schema( $input, $input_schema, 'input' );
	if ( is_wp_error( $valid_input ) ) {
		return new WP_Error(
			'ability_invalid_input',
			sprintf(
				/* translators: %1$s ability name, %2$s error message. */
				__( 'Ability "%1$s" has invalid input. Reason: %2$s' ),
				esc_html( $this->name ),
				$valid_input->get_error_message()
			)
		);
	}

	return true;
}