функция
since 5.7.0
rest_validate_number_value_from_schema()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
rest_validate_number_value_from_schema( mixed $value, array $args, string $param ): true|WP_Error
Описание
Проверяет числовое значение на соответствие схеме.
Параметры
$value
mixed
обязательный
Значение для проверки.
$args
array
обязательный
Массив схемы, используемый для проверки.
$param
string
обязательный
Имя параметра, используемое в сообщениях об ошибках.
Возвращаемое значение
true|WP_Error
Исходный код
wp-includes/rest-api.php:2552
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;
}
История изменений
| Версия | Описание |
|---|---|
| 5.7.0 | Introduced. |

