Kar*_*mar 0 node.js typescript class-validator nestjs
我需要通过类验证器使用接口来验证传入请求正文中特定字段的传入表单。
界面:
export enum Fields {
Full_Stack_Dev = 'full stack dev',
Frontend_Dev = 'frontend dev',
Backend_Dev = 'backend dev',
}
export interface Experience {
field: Fields;
years: number;
}
Run Code Online (Sandbox Code Playgroud)
这是DTO课程:
@IsEnum(Languages)
languages: Languages[];
experience: Experience[]; // Not sure which decorator to use for interfaces
Run Code Online (Sandbox Code Playgroud)
好吧,经过大量研究后,我找到了解决此问题的方法:
首先,接口不能直接使用。由类验证器问题正式声明在这里
这就是我所做的:
class ExperienceDto {
@IsEnum(Fields)
field: Fields;
@IsNumber()
years: number;
}
Run Code Online (Sandbox Code Playgroud)
@ArrayNotEmpty()
@ArrayMinSize(1)
@ArrayMaxSize(3)
@ValidateNested({ each: true })
@Type(() => ExperienceDto) // imported from class-transformer package
experience: ExperienceDto[];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4239 次 |
| 最近记录: |