express - Express Validator 中的自定义响应
问题描述
我正在使用 Express Validator 进行 Rest API 验证,这是我在控制器中的代码:
validate: function (method){
switch (method) {
case 'createPersonalInfo': {
return [
body('age').isInt().withMessage("Age should be integer")
]
}
}
},
它返回响应为:
{
"status": 300,
"messages": "Invalid Value",
"param": {
"errors": [
{
"value": "ABC",
"msg": "Age should be integer",
"param": "age",
"location": "body"
}
]
}
}
我想自定义响应,如何删除字段"location:"
。可能吗?我一直在寻找很多文章,但没有一篇关于它的文章。
解决方案
您可以使用validationResult().formatWith()
函数为您的错误指定格式化程序:
const result = validationResult(req).formatWith(({ msg, param, value }) => ({
msg,
param,
value
}));
您还可以创建一个validationResult()
始终使用给定格式化程序的实例:
// Put it in a validation-result.js file somewhere in your project?
const myValidationResult = validationResult.withDefaults({
formatter: ({ msg, param, value }) => ({
msg,
param,
value
})
});
const result = myValidationResult(req);
推荐阅读
- javascript - 如何在 iPhone 中扫描或读取 GS1 DataBar?
- java - 未经检查的调用和未经检查的分配java工厂泛型
- html - Angular DatePipe 不起作用
- c# - 错误 28P01 - 密码验证失败
- vba - 禁用另一个工作表中的自动计算 excel
- javascript - 将大写字母转换为小写字母
- vba - 阅读分组对象中的文本
- javascript - 如何使用 w3codecolor.js 突出显示 Python 语法?
- firebase - 如何根据 Firebase 中的字段混合规则
- atom-editor - atom 编辑器:`styles.less` 选项列表