Я использую пользовательское сообщение об ошибке проверки на hapi с помощью joi.
server.route({
path: '/test/inputname',
method: ['PUT','POST'],
handler: async (request, h) => {
try{
const created = await MemberSchema.addUser(
{"input_name": request.payload.input_name}
)
return h.response(created).code(201);
} catch(err){
console.log(err.message);
return h.response(err.message).code(400);
}
},
options: {
validate: {
payload: Joi.object({
input_name: Joi.string()
.min(2)
.max(30)
.required()
.messages({
'string.base' : `"input_name" should be a type of 'text'`,
'string.empty' : `"input_name" cannot be an empty field`,
'string.min' : `"input_name" should have a minimum length of {#limit}`,
'any.required' : `"input_name" is a required field`,
}),
}),
options:{
allowUnknown: true
,abortEarly: false
}
}
}
});
Однако, когда я публикую недопустимые данные, они всегда отображаются следующим образом. решить?
ps Я использую следующую версию.
node v12.16.2
"@hapi/hapi": "^19.1.1",
"@hapi/joi": "^17.1.1",