在快速验证器中使用checkSchema中间件验证嵌套的POST正文有效负载的方法如下:
const express = require('express');
const { checkSchema, validationResult } = require('express-validator');
const app = express();
app.use(express.json()); // 解析JSON请求正文
// 定义验证规则
const schema = {
name: {
in: ['body'],
isString: true,
errorMessage: '姓名必须是字符串',
},
age: {
in: ['body'],
isInt: true,
errorMessage: '年龄必须是整数',
},
address: {
in: ['body'],
isString: true,
errorMessage: '地址必须是字符串',
},
};
// 创建路由处理程序
app.post('/user', checkSchema(schema), (req, res) => {
// 检查验证结果
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// 处理有效负载
const { name, age, address } = req.body;
// 进行进一步的处理...
// 返回响应
res.status(200).json({ message: '用户创建成功' });
});
// 启动服务器
app.listen(3000, () => {
console.log('服务器已启动');
});
schema
,其中包含了name
、age
和address
字段的验证规则。这些规则指定了字段的位置(in
),验证条件(例如isString
、isInt
等),以及验证失败时的错误消息。checkSchema
中间件来验证请求正文的有效负载。如果验证失败,validationResult
函数将返回一个包含错误信息的数组。我们可以根据需要处理这些错误,例如返回一个400错误响应。name
、age
和address
字段的值。这样,当客户端发送一个带有嵌套的POST请求正文的请求时,服务器将使用checkSchema
中间件验证请求正文的有效负载,并根据验证结果进行相应的处理。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云