S SmartDocs
系列: nest.js typescript 20 行 · 更新于 2026-02-03

parse-int.pipe.ts

nest.js/02-intermediate/code/common/pipes/parse-int.pipe.ts

import {
  PipeTransform,
  Injectable,
  ArgumentMetadata,
  BadRequestException,
} from '@nestjs/common';

@Injectable()
export class ParseIntPipe implements PipeTransform<string, number> {
  transform(value: string, metadata: ArgumentMetadata): number {
    const val = parseInt(value, 10);
    if (isNaN(val)) {
      throw new BadRequestException(
        `Validation failed. "${value}" is not a valid number.`,
      );
    }
    return val;
  }
}

相关文章