erm*_*mir 9 validation default node.js typescript nestjs
import { IsString, IsNumber, IsOptional, IsUUID, Min, Max } from 'class-validator';
import { Transform } from 'class-transformer';
export class QueryCollateralTypeDto {
@Transform(({ value }) => parseInt(value))
@IsNumber()
@IsOptional()
page: number;
@Transform(({ value }) => parseInt(value))
@IsNumber()
@IsOptional()
limit: number;
@IsString()
@IsOptional()
select: string;
}
Run Code Online (Sandbox Code Playgroud)
我想设置页面的默认整数值以及选择的限制和字符串值(例如整数 1 的页面值、整数 10 的限制值以及“field1,field2,...”的选择值)
erm*_*mir 33
好吧,我找到了一个解决方案,我想你只需在 DTO 中初始化变量即可
import { IsString, IsNumber, IsOptional, IsUUID, Min, Max } from 'class-validator';
import { Transform } from 'class-transformer';
export class QueryCollateralTypeDto {
@Transform(({ value }) => parseInt(value))
@IsNumber()
@IsOptional()
page: number = 1;
@Transform(({ value }) => parseInt(value))
@IsNumber()
@IsOptional()
limit: number = 10;
@IsString()
@IsOptional()
select: string = 'name,description';
}
Run Code Online (Sandbox Code Playgroud)
如果您属于这种情况,您可以在服务和使用数据的函数中设置默认值,如下例所示。如果您不向函数传递任何值,则会设置默认值。
exampleFunction(data: QueryCollateralTypeDto) {
const { page = 1, limit = 10, select = 'field1' } = data;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17559 次 |
| 最近记录: |