问题标签 [class-validator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1874 浏览

typescript - Nestjs 中的类验证器对正文或路由中的电话号码有意外行为

我正在使用class-validatorandnestjs对我的 Http 请求进行验证。我遇到了一个有趣的边缘情况,我不确定这是一个错误还是我的实现有问题。

我有两个端点:1)使用有效的电话号码创建数据,2)通过路由参数中的电话号码检索数据。似乎路由参数具有更严格的验证。我正在使用'US'国际代码,因为我的应用程序还不支持国际号码。这是我的实现:

使用电话号码创建数据

@Body()注释中,我可以传入有效的 10 位或 11 位电话号码(带或不带标点符号)。例如:

从电话号码获取数据

@Param()注解中必须11位,以'US'国际码为1开头。

我想这是有道理的,它需要我在程序中传递11数字'US'代码1,但对我来说这似乎很奇怪,@Body()并且@Param()即使它们使用相同的class-validators注释也会有不同的行为 - @IsPhoneNumber。有谁知道为什么会这样?

0 投票
2 回答
3196 浏览

typescript - 类验证器验证联合类型

我有一个mongoose discriminator schema,这意味着数据会根据其中一个属性而有所不同。

Feature验证类以使其仅接受 2 种不同类型的正确方法是什么?

0 投票
2 回答
7051 浏览

typescript - 如何使用类验证器向nestjs中的验证器约束接口注入服务?

我正在尝试将我的用户服务注入我的验证器约束界面,但它似乎不起作用:

但是,由于 usersService 被记录为空,我无法访问它的方法。

对这个问题有任何见解吗?

0 投票
1 回答
100 浏览

javascript - 如何将身份验证令牌从类传递到自定义验证器?

我有一个类,它有一个 authToken 变量和一个带有自定义验证器的变量,需要使用 authToken 才能工作:

如何将 authToken 从实例传递ClassToValidate给自定义验证器类构造函数?

0 投票
0 回答
176 浏览

nestjs - 使用 nestJs && class-validator 进行 Promise 验证

我正在研究一个 DTO(数据传输对象),我根据class validator提供的内容直接进行验证

这是一个示例:

这就是我在控制器中使用它的方式

我在这里看到可以使用类验证器进行 Promise 验证。

他们建议我们这样做:

我的问题是这样的:

在继续更新之前,我需要确保在参数中提供了 ID 的记录确实存在于数据库中。我认为可以使用类验证器自述文件中建议的 Promise 验证方法来做到这一点。

如果真的有可能,我该如何使用上面显示的结构来做到这一点?

0 投票
2 回答
9995 浏览

typescript - 在 TypeScript 和 NestS 中将类转换为类/对象(实体到 DTO)

如何转换数据库实体User

进入 DTO 实体GetUserDTO

在打字稿中?我正在使用@nestjs,class-validatorclass-transformer包,但我没有找到任何方法来使用它们来实现这一点。

有人可能会说,拥有 DTO 对此毫无意义,但我们在服务器和客户端之间共享 DTO 以维护 API 结构。

有任何想法吗?

0 投票
1 回答
52 浏览

typescript - 在类验证器中验证具有异常数字可能性的数字

我的班级中有一个字段如下所示:

someNumber也希望能够被分配-1。如何在不制作自定义验证器的情况下合并它?

0 投票
2 回答
8163 浏览

typescript - 具有类验证器的高级条件(可能)?

我有 TypeScript NestJS 项目。

我需要验证传入的 DTO 到我的 API。它可以被描述为“创建项目”,其中我们有建筑类型(房屋、公寓、花园),并且根据我们需要定义的类型:

  • 房子:楼层,包括房间
  • 公寓:房间
  • 花园:什么都没有(它是一个“房间”)

房屋类型示例:

扁平型示例:

我过去AJVclass-validator.

我的问题是,如果我可以在class-validator

0 投票
1 回答
3345 浏览

node.js - 类验证器 @ValidateIf() 无法正常工作

我在带有此类验证器的嵌套 js 中有以下类:

如果我发送 '*' 它会返回

0 投票
3 回答
11438 浏览

typescript - 在 NestJS 中抛出与 `class-validator` 相同的错误格式

让我们在 NestJS 项目中使用这个控制器:

Dto定义:

我想在抛出异常时抛出ValidationError格式错误(属性、值、约束等)。this.authService.requestPasswordReset(body);EntityNotFoundError

如何手动创建此错误?这些错误只是在 DTO 验证class-validator失败时抛出。这些可以只是静态验证,而不是异步数据库验证。

所以最终的 API 响应格式应该是例如:

我需要它有一致的错误处理:)