node.js - 来自 class-validator 的 @MaxDate 无法在 Nestjs 中按预期工作
问题描述
我没有很多使用 Nodejs/Nestjs 开发的经验。我正在开发一个 REST API,其中一个端点接收带有生日属性的用户正文。
我想验证出生日期总是在当天之前。这是我的代码片段:
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"}
感谢您的帮助和时间。
解决方案
@Type(() => Date)
我从添加到 dateofbirth时解决了这个问题class-transformer
推荐阅读
- python - request.get() 中不遵守超时
- c# - 如何在不使用 ToList 的情况下对 OData 中的字符串集合执行 where 查询?
- angular - 无法读取 Ionic 4 中未定义的属性“socialSharing”
- javascript - 使用 Javascript 透视数据
- android - 从后台打开应用程序后如何保留当前会话
- python - 在 Python 3 中动态生成变量名
- javascript - “.push in array”的未捕获类型错误
- r - 无法添加 git url 以将 Rstudio 中的项目与 git 存储库连接
- controller - 具有更多闪存的控制器是否消耗更多能量
- python - 如何在for循环python中向np数组添加一行