Mi DTO es
@Expose() @IsNotEmpty() @IsJSON({ each: true }) filesRole: string filesRole es algo así: [{"file": "14125.png", "role": "bg"}, {"file": "x12.png", "role": "cover"}]
Quiero validar el role para que sea bg o cover .
Puedes probarlo con enumeración:
export enum Role { bg = 'bg', cover = 'cover', } @IsEnum(Role) @Expose() @IsNotEmpty() @IsJSON({ each: true }) filesRole: Roleactualice su DTO principal:
@Expose() @IsNotEmpty() @IsArray() @ValidateNested({ each: true }) filesRole: Data[];DTO de datos:
export class Data { @IsNotEmpty() @IsString() file: string; @IsNotEmpty() @IsString() @IsIn(Object.values(roleEnum)) role: roleEnum; }roleEnum :
export enum roleEnum { bg = 'bg', cover = 'cover', }