【问题标题】:NestJs validation pipe not working properlyNestJs 验证管道无法正常工作
【发布时间】:2023-01-19 23:33:55
【问题描述】:

我的项目中有以下 DTO 类:

import { IsNotEmpty, IsString } from "class-validator";

export class CreateDomainDTO {

  @IsString()
  codigo_website: string;

  @IsString()
  website_name: string

}

我为我的整个项目应用了 NestJs 默认验证管道:
main.ts file

但是,NestJs 搞乱了验证并返回了一个对我来说没有意义的响应。

当我在请求中发送此有效负载时:

{
    "codigo_website": "lipgMEjz4altEmeb9hms",
    "website_name": "Modelo 2.1"
}

我收到以下验证错误:

"property {\"codigo_website\":\"lipgMEjz4altEmeb9hms\",\"website_name\":\"Modelo 2.1\"} should not exist","codigo_website must be a string","website_name must be a string"

它认为我的整个身体是一个单一的财产,我不知道为什么。另外,这个错误似乎只发生在生产中,但几天前它工作正常。

有谁知道为什么会这样?我应该创建自定义验证管道吗?

提前表示感谢。

【问题讨论】:

  • “不要发布代码、数据、错误消息等的图像。” How to Ask 能否提供请求头和正文。
  • 你如何发送请求? Content-Type 是什么?看起来有效载荷没有被反序列化

标签: javascript node.js typescript validation nestjs


【解决方案1】:

如果您使用邮递员,请确保正文是原始的并选择 JSON。如果使用前端 API,请将内容类型设置为 application/json

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多