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



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!