nestjs-form-data icon indicating copy to clipboard operation
nestjs-form-data copied to clipboard

@IsFiles() decorator with custom message causes 400 bad request

Open karolmodzelewski opened this issue 2 years ago • 1 comments

Hi,

When I'm trying to send a request (POST) with multiple files and I set a custom error message to @IsFiles() decorator, it will cause a 400 bad request error. Request are send here using Postman

My code (DTO):

    @IsFiles({ message: 'IsFiles custom error message' })
    @MaxFileSize(1024 * 1024 * 5, { each: true, message: 'MaxFileSize custom error message' })
    @HasMimeType(['image/jpeg', 'image/png', 'image/webp'], { each: true, message: 'HasMimeType custom error message' })
    @IsNotEmpty({ message: 'IsNotEmpty custom error message' })
    public photos: FileSystemStoredFile[];

1

And when I delete an object with message parameter:

    @IsFiles() // <-- here
    @MaxFileSize(1024 * 1024 * 5, { each: true, message: 'MaxFileSize custom error message' })
    @HasMimeType(['image/jpeg', 'image/png', 'image/webp'], { each: true, message: 'HasMimeType custom error message' })
    @IsNotEmpty({ message: 'IsNotEmpty custom error message' })
    public photos: FileSystemStoredFile[];

It works perfectly

2

It also works when I use @IsFile() decorator with each property like this:

@IsFile({ each: true, message: 'IsFile custom error message' })

========

NestJS: 9 nestjs-form-data: 1.8.7

karolmodzelewski avatar Jul 03 '23 13:07 karolmodzelewski

@karolmodzelewski Hi, in version 1.9.1 I have added tests to check your ticket. And they pass successfully, could you please test the new version in your environment and report the results?

dmitriy-nz avatar Oct 01 '23 19:10 dmitriy-nz