问题标签 [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 投票
2 回答
46 浏览

regex - RegExp 对象的性能

在下面的代码中,

我想通过将 RegExp 对象放在某处来提高性能,但我不知道如何做嵌套。

谢谢

0 投票
2 回答
1728 浏览

node.js - 如何在验证 DTO 之前 JSON 解析密钥?

我是 NestJs 的新手。我在正文中有一个传入字段,我需要在 DTO 中对其进行验证之前对其进行 JSON.parse。

控制器

DTO

0 投票
2 回答
6101 浏览

arrays - NestJs 验证请求正文中的数组

我正在尝试将验证插入 PUT 请求。

DTO:

控制器

服务

当我发送数据时,如下所示:

我收到了空数组。我究竟做错了什么?错误在哪里?

当我将控制器中的设置从 SettingArrayUpdateDto 更改为任何时,控制器会收到原始请求数据。

NestJs 6.10.14 版本。

0 投票
1 回答
1107 浏览

typescript - Typescript mixin 类上的类验证器装饰器

在我的项目中,我有一个具有许多属性的大对象。每个属性都有自己独特的验证,使用类验证器装饰器对其执行。该类的每个属性都被描述为一个 mixin。但是,我注意到在将 mixin 应用于基类时,只有最后传递的 mixin 才会运行其装饰器以进行验证。

例如,我们有:

每个属性,在单元测试时,都会正确地验证自己。

在创建从 mixins 继承的类时,我正在执行以下操作:

但是,在创建实例Foo并调用.validate实例时,我们只会收到描述错误。

是否有一些不同的方法来应用 mixins 以获得对所有混合属性的验证?

0 投票
1 回答
177 浏览

javascript - 将属性分配给另一个 Dto

我正在做一个nestjs项目,我想知道是否可以将值属性分配给另一个Dto,以进行更多解释。

情况是我想将 idData 分配给 IsUniqueValidator 中的 id。

我试过这段代码,但它返回 undefined :

结果 :

感谢帮助。

0 投票
2 回答
2294 浏览

nestjs - 从配置中注入 DTO 的默认值

目前,我在我的控制器中使用 DTO 对象,并将它们与类验证器插件配对以解析/验证它们。问题是,我想为某些 DTO 参数分配默认值,但这些值应该来自配置。我需要一些优雅的方法来将这些默认值注入 DTO,并让这些默认值自动填充到各个端点的 swagger 元信息中(我正在使用 nest swagger 插件为我自动应用装饰器)。为了达到预期的结果,我看到了 2 个解决方案,这两个解决方案都需要一些不必要的妥协。

解决方案 1:将配置值注入控制器本身,并在路由处理程序中解析 DTO 后,将参数和 DTO 传递给将在 DTO 上应用它们的方法。但是,为了在 swagger 中记录默认值,我应该手动将“@ApiQuery”属性放在默认值的处理程序上。首先,在这种情况下,我同时使用 DTO 和查询装饰器来专门用于招摇,而且我不确定这是否会起作用。简而言之,这完全是一团糟,我更愿意避免这种“解决方案”。

解决方案 2:完全跳过 DTO 方法并使用单独的查询参数。我可以通过将配置注入控制器来使用默认管道应用默认值。但是,我需要为每个参数应用验证规则,或者无论如何创建一个 DTO,我可以在其上应用验证规则并从查询参数手动构造它。此外,我需要手动记录所有参数,以便招摇过市。

有更好的解决方案吗?

0 投票
1 回答
5088 浏览

node.js - NestJs - 类验证器不返回完整的验证错误对象

我在 NestJS 中使用类验证器来创建这样的验证:

}

它有效,但不如预期。返回的对象如下所示:

}

虽然我希望它包含这样的所有信息:

如何返回所有丢失的属性?

0 投票
1 回答
1204 浏览

javascript - 如何在 Nestjs Validation 中将异常错误作为对象获取?

默认情况下,当验证失败时,响应会像

我怎样才能得到消息的价值:

0 投票
1 回答
369 浏览

nestjs - nestjs ValidatorConstraint 按顺序,将自定义验证器反映到 swagger 定义

在nestjs中,为了验证startDate和endDate的查询参数

1、sartDate必须在endDate之前,这里是自定义验证器

2、startDate和endDate必须以'YYYY-MM-DD'格式传入

所以对于 startDate,我想首先验证格式,然后验证 isBefoer 而不是 endDate,我无法控制验证顺序作为我的以下代码:

另外,如何通过 Annotation 将 costome 验证器应用于 swagger 定义?仅将必需的验证添加到 swagger 在此处输入图像描述

0 投票
2 回答
4577 浏览

typescript - 使用类验证器验证字符串文字类型

我有这种类型:

我可以使用哪个类验证器装饰器来验证属性是否具有这些值之一?