我有以下验证器:
const validationSchema = checkSchema({
'applicant.name': {
exists: true,
errorMessage: 'Name field is required',
},
});
以及以下路线的起点(其余无关):
userGeneralApplicant.post("/application/apply",
upload.single('cv'),
validationSchema,
(req, res, next) => {
来自表单的数据保存在 req.body.applicant 中,因此申请人内部应该有一个属性名称。当用户不插入姓名时,申请人只是一个空对象。
但是,无论是否有名称值,验证都会重新调整以下错误:
errors: [
{
type: 'field',
value: undefined,
msg: 'Name field is required',
path: 'applicant.name',
location: 'cookies'
}
]
我该怎么办?因为我确信我应该在验证之前调用 multer。
此处不涉及 multer,因为它对文件执行所有操作并启用内存中文件存储。
使用
check()
- 因为它专用于验证所有请求组件并支持验证规则链接,您正在使用 checkSchema()
来根据提供的架构进行验证,因此它可能不会提供预期的输出