NestJs DTO:dto 中字符串的默认值,最小长度为 3

问题描述 投票:0回答:1

我必须创建一个包含字段

searchTerm
的 DTO。如果这个值是从客户端提供的,那么最小长度必须是 3,否则,我应该有一个空字符串,即
searchTerm = '';
。有什么方法可以使用类验证器和/或类转换器包在 DTO 文件中实现此目的?

这就是我到目前为止所取得的成就。如果从客户端收到一个值,它工作正常,否则

searchTerm
必须等于该值,如果传递并且长度> 3,否则应该是一个空字符串。

@ApiPropertyOptional({default: ''})
@IsString()
@IsOptional()
@Type(() => String)
@MinLength(3)
searchTerm: string;
nestjs dto class-validator class-transformer
1个回答
0
投票

您可以通过在其他装饰器之前添加 @validateIf(o => o.searchTerm) 来使用

条件验证
。这将检查是否提供了
searchTerm
,执行其他验证否则跳过。

© www.soinside.com 2019 - 2024. All rights reserved.