1
0

comm.ts 819 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {
  2. IsInt,
  3. IsOptional,
  4. Min,
  5. } from 'class-validator';
  6. import { Expose, Transform } from 'class-transformer';
  7. export class PagePostDto {
  8. @IsOptional()
  9. @IsInt()
  10. @Min(0)
  11. @Expose()
  12. limit: number;
  13. @IsOptional()
  14. @IsInt()
  15. @Min(1)
  16. @Expose()
  17. page: number;
  18. }
  19. /**
  20. * 由于query获取的参数只能为string,所以要区分开
  21. */
  22. export class PageGetDto {
  23. @IsOptional()
  24. @IsInt()
  25. @Min(1)
  26. @Transform(v => {
  27. const parsed = parseInt(v.value, 10);
  28. return isNaN(parsed) ? 10 : parsed; // 默认值为 10
  29. }, { toClassOnly: true })
  30. @Expose()
  31. pageSize: number;
  32. @IsOptional()
  33. @IsInt()
  34. @Min(1)
  35. @Transform(v => {
  36. const parsed = parseInt(v.value, 10);
  37. return isNaN(parsed) ? 1 : parsed; // 默认值为 1
  38. }, { toClassOnly: true })
  39. @Expose()
  40. current: number;
  41. }