【问题标题】:@MaxDate from class-validator not working as expected with Nestjs来自 class-validator 的 @MaxDate 无法在 Nestjs 中按预期工作
【发布时间】:2021-12-16 07:19:10
【问题描述】:

我没有太多使用 Nodejs/Nestjs 开发的经验。 我正在开发一个 REST API,其中一个端点接收带有生日属性的用户正文。

我想验证出生日期总是早于当天。 这是我的代码的 sn-p:

import { IsString, IsDateString, MaxDate } from 'class-validator';

export class CreateUserDto {
  @IsString()
  readonly username: string;

  @IsDateString()
  @MaxDate(new Date())
  readonly dateofbirth: Date;
}

这是我的实体:

import { Entity, Column, PrimaryColumn } from 'typeorm';

@Entity()
export class User {
  @PrimaryColumn()
  username: string;

  @Column()
  dateofbirth: Date;
}

但是,在发出 POST 请求时,我总是遇到同样的错误,并且不明白为什么: {"statusCode":400,"message":["maximal allowed date for dateofbirth is Mon Nov 01 2021 12:20:11 GMT+0000 (Western European Standard Time)"],"error":"Bad Request"}

感谢您的帮助和时间。

【问题讨论】:

  • 您要发送什么作为有效负载?

标签: node.js nestjs class-validator


【解决方案1】:

@Type(() => Date)class-transformer添加到dateofbirth时我解决了这个问题

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2020-01-15
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 2013-12-23
  • 2014-12-09
  • 2016-01-13
  • 2020-09-21
相关资源
最近更新 更多