training_data/apps/server/src/validation/index.ts

18 lines
536 B
TypeScript
Raw Normal View History

2025-01-06 08:45:23 +08:00
import { PipeTransform, BadRequestException } from '@nestjs/common';
import { ZodSchema } from 'zod';
export class ZodValidationPipe implements PipeTransform {
constructor(private schema: ZodSchema) { }
transform(value: unknown) {
try {
const result = this.schema.parse(value);
return result;
} catch (error: any) {
throw new BadRequestException('Validation failed', {
cause: error,
description: error.errors
});
}
}
}