Node.js 如何使用Joi一次性获得所有验证错误?
我面临着与Joi验证相关的问题,当我向Joi发送请求时,它只抛出一个错误Node.js 如何使用Joi一次性获得所有验证错误?,node.js,validation,joi,Node.js,Validation,Joi,我面临着与Joi验证相关的问题,当我向Joi发送请求时,它只抛出一个错误 var CreateValidationSchema = Joi.object().keys({ name: Joi.string().required().max(255).label("Name"), branch_name: Joi.string().required().max(255).label("Branch Name"), ifsc_code: Joi.string().
var CreateValidationSchema = Joi.object().keys({
name: Joi.string().required().max(255).label("Name"),
branch_name: Joi.string().required().max(255).label("Branch Name"),
ifsc_code: Joi.string().required().max(15).label("IFSC Code"),
micr_code: Joi.string().required().max(15).label("MICR Code"),
swift_code: Joi.string().required().max(15).label("Swift Code"),
address: Joi.string().optional().allow(null).allow("").label("Address"),
description: Joi.string().optional().allow(null).allow("").label("Description"),
is_approved: Joi.boolean().required().default(0).label("Approved")
});
Joi.validate(req.body, CreateValidationSchema).then(() => {
next();
}).catch((error) => {
_Response.ErrorResponse(res, req.lang, _Response.MESSAGES.VALIDATION_ERROR, error)
})
我的模式如上所示,请帮助。只需在Joi.validate函数中应用{abortEarly:false}
比如:
Joi.validate(req.body, CreateValidationSchema, { abortEarly: false } ).then(() => {
next();
}).catch((error) => {
_Response.ErrorResponse(res, req.lang, _Response.MESSAGES.VALIDATION_ERROR, error)
})
可能会有帮助只需在Joi.validate函数中应用{abortEarly:false}
比如:
Joi.validate(req.body, CreateValidationSchema, { abortEarly: false } ).then(() => {
next();
}).catch((error) => {
_Response.ErrorResponse(res, req.lang, _Response.MESSAGES.VALIDATION_ERROR, error)
})
也许会有帮助