admin-vben5/apps/backend-mock/src/core/pipe/params.pipe.ts
2024-06-30 14:09:44 +08:00

28 lines
660 B
TypeScript

import {
BadRequestException,
HttpStatus,
ValidationPipe,
type ValidationPipeOptions,
} from '@nestjs/common';
class ParamsValidationPipe extends ValidationPipe {
constructor(options: ValidationPipeOptions = {}) {
super({
errorHttpStatusCode: HttpStatus.BAD_REQUEST,
exceptionFactory: (errors) => {
const message = Object.values(errors[0].constraints)[0];
return new BadRequestException({
message,
status: HttpStatus.BAD_REQUEST,
});
},
forbidNonWhitelisted: true,
transform: true,
whitelist: true,
...options,
});
}
}
export { ParamsValidationPipe };