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

How to get the exception error as Object in Nestjs Validation?

默认情况下,当验证失败时,响应类似于

{
    statusCode: 400,
    message: [ 'Provide a url.', 'test must be a string' ],
    error: 'Bad Request'
}

如何获取消息的值:

{
    statusCode: 400,
    message: {
        "url": 'Provide a url.',
        "test": 'test must be a string'
    },
    error: 'Bad Request'
}

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

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