NestJS 类验证器验证表单数据中的数字数组

Posted

技术标签:

【中文标题】NestJS 类验证器验证表单数据中的数字数组【英文标题】:NestJS class-validator validate array of numbers in form data 【发布时间】:2021-11-17 05:17:58 【问题描述】:

如何处理表单数据中数字数组的验证? 因为我传递的是表单数据格式的数据,所以我无法验证数字数组实际上,我不知道该怎么做。

这是我的 CreatePostDto

export class CreatePostDto 
  @IsNotEmpty()
  @IsString()
  @MinLength(3)
  title: string;

  @ApiProperty( type: 'string', format: 'binary' )
  thumbnail: any;

  @IsNotEmpty()
  @IsString()
  @MinLength(20)
  @MaxLength(300)
  description: string;

  @IsNotEmpty()
  @IsString()
  @MinLength(20)
  body: string;

  @IsOptional()
  @Type(() => Number)
  @IsNumberString(,  each: true )
  tags: number[];

  @IsOptional()
  @Type(() => Number)
  @IsNumberString(,  each: true )
  categories: number[];

  @IsBooleanString()
  published: boolean;

【问题讨论】:

【参考方案1】:

决定: https://github.com/typestack/class-validator/issues/454

简答:

@IsNumber(,each: true)
numbers: number[];

【讨论】:

以上是关于NestJS 类验证器验证表单数据中的数字数组的主要内容,如果未能解决你的问题,请参考以下文章

使用接口传入请求的 NestJS 类验证器

typescript.-如何使用类验证器和类转换器(Nestjs)验证子类中的特定字段

在nestjs中使用类验证器验证环境变量?

@Get 控制器和布尔查询中的 NestJS 验证失败(需要数字字符串)

在nestjs中使用类验证器验证可选参数?

Laravel 验证表单数组中的至少一项