rest_validate_request_arg()
云策文档标注
概述
rest_validate_request_arg() 是一个 WordPress REST API 函数,用于根据路由注册的参数详情验证请求参数。它通过调用 rest_validate_value_from_schema() 实现基于 JSON Schema 的验证。
关键要点
- 函数签名:rest_validate_request_arg( $value, $request, $param ),其中 $value 为待验证值,$request 为 WP_REST_Request 对象,$param 为参数名。
- 返回类型:验证成功返回 true,失败返回 WP_Error 对象。
- 内部逻辑:从 $request 属性中获取参数定义,若未定义或非数组则直接返回 true;否则调用 rest_validate_value_from_schema() 进行验证。
- 相关函数:rest_validate_value_from_schema() 用于基于 schema 验证值,rest_parse_request_arg() 用于解析请求参数。
- 引入版本:WordPress 4.7.0。
代码示例
function rest_validate_request_arg( $value, $request, $param ) {
$attributes = $request->get_attributes();
if ( ! isset( $attributes['args'][ $param ] ) || ! is_array( $attributes['args'][ $param ] ) ) {
return true;
}
$args = $attributes['args'][ $param ];
return rest_validate_value_from_schema( $value, $args, $param );
}
原文内容
Validate a request argument based on details registered to the route.
Parameters
$valuemixedrequired$requestWP_REST_Requestrequired$paramstringrequired
Source
function rest_validate_request_arg( $value, $request, $param ) {
$attributes = $request->get_attributes();
if ( ! isset( $attributes['args'][ $param ] ) || ! is_array( $attributes['args'][ $param ] ) ) {
return true;
}
$args = $attributes['args'][ $param ];
return rest_validate_value_from_schema( $value, $args, $param );
}
Changelog
| Version | Description |
|---|---|
| 4.7.0 | Introduced. |