Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set default values on DTO 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;
}

I want to set default integer values for page and limit and string value for select, (example page value of integer 1, limit value of integer 10, and select value of "field1,field2,...")

like image 962
ermir Avatar asked Nov 30 '25 23:11

ermir


1 Answers

Okey i found a solution i guess you just initalize the variables at 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';
}
like image 144
ermir Avatar answered Dec 03 '25 15:12

ermir