在自定义Joi/celebrate消息上使用验证错误值,可以通过以下步骤实现:
.message()
方法自定义错误消息。例如,.required().message('该字段为必填项')
将会在字段未通过验证时返回自定义的错误消息。celebrate.Joi
来使用Joi的验证规则,并通过.message()
方法自定义错误消息。例如,celebrate.Joi.string().required().message('该字段为必填项')
将会在字段未通过验证时返回自定义的错误消息。error.details
来获取详细的错误信息,然后从中提取出错误值。示例代码如下所示:
const express = require('express');
const { celebrate, Joi, errors } = require('celebrate');
const app = express();
app.use(express.json());
app.post('/api/user', celebrate({
body: {
name: Joi.string().required().message('姓名为必填项'),
age: Joi.number().integer().min(18).message('年龄必须大于等于18'),
},
}), (req, res) => {
// 处理请求
});
app.use(errors());
app.listen(3000, () => {
console.log('Server started on port 3000');
});
在上述示例中,我们使用了Joi和celebrate来验证POST请求的请求体。如果请求体中的name
字段缺失或不是字符串类型,或者age
字段不是大于等于18的整数,将会返回自定义的错误消息。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅为示例,实际使用时应根据具体需求选择适合的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云