rest_validate_number_value_from_schema() │ WP 5.7.0
Validates a number value based on a schema.
Хуков нет.
Возвращает
true|WP_Error
.
Использование
rest_validate_number_value_from_schema( $value, $args, $param );
- $value(разное) (обязательный)
- The value to validate.
- $args(массив) (обязательный)
- Schema array to use for validation.
- $param(строка) (обязательный)
- The parameter name, used in error messages.
Список изменений
Код rest_validate_number_value_from_schema() rest validate number value from schema
WP 6.7.1
function rest_validate_number_value_from_schema( $value, $args, $param ) {
if ( ! is_numeric( $value ) ) {
return new WP_Error(
'rest_invalid_type',
/* translators: 1: Parameter, 2: Type name. */
sprintf( __( '%1$s is not of type %2$s.' ), $param, $args['type'] ),
array( 'param' => $param )
);
}
if ( isset( $args['multipleOf'] ) && fmod( $value, $args['multipleOf'] ) !== 0.0 ) {
return new WP_Error(
'rest_invalid_multiple',
/* translators: 1: Parameter, 2: Multiplier. */
sprintf( __( '%1$s must be a multiple of %2$s.' ), $param, $args['multipleOf'] )
);
}
if ( isset( $args['minimum'] ) && ! isset( $args['maximum'] ) ) {
if ( ! empty( $args['exclusiveMinimum'] ) && $value <= $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
/* translators: 1: Parameter, 2: Minimum number. */
sprintf( __( '%1$s must be greater than %2$d' ), $param, $args['minimum'] )
);
}
if ( empty( $args['exclusiveMinimum'] ) && $value < $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
/* translators: 1: Parameter, 2: Minimum number. */
sprintf( __( '%1$s must be greater than or equal to %2$d' ), $param, $args['minimum'] )
);
}
}
if ( isset( $args['maximum'] ) && ! isset( $args['minimum'] ) ) {
if ( ! empty( $args['exclusiveMaximum'] ) && $value >= $args['maximum'] ) {
return new WP_Error(
'rest_out_of_bounds',
/* translators: 1: Parameter, 2: Maximum number. */
sprintf( __( '%1$s must be less than %2$d' ), $param, $args['maximum'] )
);
}
if ( empty( $args['exclusiveMaximum'] ) && $value > $args['maximum'] ) {
return new WP_Error(
'rest_out_of_bounds',
/* translators: 1: Parameter, 2: Maximum number. */
sprintf( __( '%1$s must be less than or equal to %2$d' ), $param, $args['maximum'] )
);
}
}
if ( isset( $args['minimum'], $args['maximum'] ) ) {
if ( ! empty( $args['exclusiveMinimum'] ) && ! empty( $args['exclusiveMaximum'] ) ) {
if ( $value >= $args['maximum'] || $value <= $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
sprintf(
/* translators: 1: Parameter, 2: Minimum number, 3: Maximum number. */
__( '%1$s must be between %2$d (exclusive) and %3$d (exclusive)' ),
$param,
$args['minimum'],
$args['maximum']
)
);
}
}
if ( ! empty( $args['exclusiveMinimum'] ) && empty( $args['exclusiveMaximum'] ) ) {
if ( $value > $args['maximum'] || $value <= $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
sprintf(
/* translators: 1: Parameter, 2: Minimum number, 3: Maximum number. */
__( '%1$s must be between %2$d (exclusive) and %3$d (inclusive)' ),
$param,
$args['minimum'],
$args['maximum']
)
);
}
}
if ( ! empty( $args['exclusiveMaximum'] ) && empty( $args['exclusiveMinimum'] ) ) {
if ( $value >= $args['maximum'] || $value < $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
sprintf(
/* translators: 1: Parameter, 2: Minimum number, 3: Maximum number. */
__( '%1$s must be between %2$d (inclusive) and %3$d (exclusive)' ),
$param,
$args['minimum'],
$args['maximum']
)
);
}
}
if ( empty( $args['exclusiveMinimum'] ) && empty( $args['exclusiveMaximum'] ) ) {
if ( $value > $args['maximum'] || $value < $args['minimum'] ) {
return new WP_Error(
'rest_out_of_bounds',
sprintf(
/* translators: 1: Parameter, 2: Minimum number, 3: Maximum number. */
__( '%1$s must be between %2$d (inclusive) and %3$d (inclusive)' ),
$param,
$args['minimum'],
$args['maximum']
)
);
}
}
}
return true;
}