I am trying to working with base calls in Nestjs with class-validator and class-transform
I have a base class as follows:
class BaseClass{
@IsString()
name:string;
@IsNumber()
num:number;
}
now I have a service that should get childDto
service....
async fun(child:childDTO){
const dto = plainToClass(child)
await validate(dto)// or via validate pipe
}
now I would like a dto that includes only the "name" and validate in the controller or service
class childDto extends BaseClass{}
how can I make sure to take only "name" field instead, create another dto with code duplication
and also to make sure the validation is working per specific DTO
thx
You can use PickType
export class childDto extends PickType(BaseClass, ['name'] as const) {}
For more details visit mapped-types#pick