如何在 Nestjs 验证中将异常错误作为对象获取?

Sid*_*tav 3 javascript node.js class-validator nestjs

默认情况下,当验证失败时,响应结果如下

{
    statusCode: 400,
    message: [ 'Provide a url.', 'test must be a string' ],
    error: 'Bad Request'
}
Run Code Online (Sandbox Code Playgroud)

如何获取消息的值:

{
    statusCode: 400,
    message: {
        "url": 'Provide a url.',
        "test": 'test must be a string'
    },
    error: 'Bad Request'
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*iel 9

使用 ,ValidationPipe您可以将exceptionFacotry属性传递给选项并根据需要格式化错误。像这样的事情可能会让你走上正确的道路

exceptionFactory: (errors) => {
  const errorMessages = {};
  errors.forEach(error => {
    errorMessages[error.property]= Object.values(error.contraints).join('. ').trim();
  });
  return new BadRequestException(errorMessages);
}
Run Code Online (Sandbox Code Playgroud)