Reputation: 1980
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
Upvotes: 0
Views: 1309
Reputation: 1
I think syntax planToClass err please check again
example: let users = plainToClass(User, userJson);
Upvotes: 0
Reputation: 2987
You can use PickType
export class childDto extends PickType(BaseClass, ['name'] as const) {}
For more details visit mapped-types#pick
Upvotes: 2