209 похожих чатов

Привет, ребят кто нибудь может подсказать, почему когда в одном дто

используешь другой дто, то его декораторы не работают

пример

export class WorkScheduleDto {
@ApiProperty()
@IsNotEmpty()
@IsEnum(DaysOfTheWeek)
dayOfWeek: DaysOfTheWeek;

@ApiProperty()
@IsOptional()
@IsString()
@Is12HourTimeFormat()
startTime?: string;

@ApiProperty()
@IsOptional()
@IsString()
@Is12HourTimeFormat()
endTime?: string;
}

export class RestaurantCreateRequestDto implements IRestaurantCreateParams {
@ApiProperty()
@Transform(({ value }) => toNumber(value))
@IsNotEmpty()
@IsNumber()
userId: number;

@ApiProperty()
@IsNotEmpty()
@IsString()
name: string;

@ApiProperty()
@IsNotEmpty()
@IsString()
legalName: string;

@ApiProperty()
@IsNotEmpty()
@IsString()
address: string;

@ApiProperty()
@IsOptional()
@Type(() => WorkScheduleDto)
@Transform(({ value }) => value.map((el) => JSON.parse(el)))
workSchedule: WorkScheduleDto[];

здесь декораторы WorkScheduleDto( для startTime, endTime, dayOfWeek) просто не отрабатывают

10 ответов

31 просмотр

Попробуй добавить декоратор @ValidateNested({ each: true })

Саадат-Косумбаева Автор вопроса
Ruslan Pakhlivanov
Попробуй добавить декоратор @ValidateNested({ eac...

ругается на что то TypeError: Cannot convert undefined or null to object

У меня с массивами вот так работает:

Саадат Косумбаева
screenshot ругается на что то TypeError: Cannot convert undef...

Попробуй еще добавить @ValidateIf((o) => !!o.workSchedule)

Саадат Косумбаева
screenshot ругается на что то TypeError: Cannot convert undef...

И transform удали если к тебе массив объектов приходит

Саадат Косумбаева
тоже не получилось

Подебаж мне кажется у тебя ошибка в transform он пытается с пустым значение что то сделать Вот мой код который работает @IsOptional() @Type(() => UnblockAmountDto) @ValidateNested({ each: true }) @ApiProperty({ isArray: true, required: false, type: UnblockAmountDto, description: 'Unblock amount', }) unblockAmount?: UnblockAmountDto[];

Похожие вопросы

Обсуждают сегодня

Карта сайта