如何在 typeorm 和 Nestjs 中验证日期和时间

Hei*_*erg 6 validation typescript typeorm nestjs

我想在基于应用程序的应用程序中添加验证typeorm规则nest.js

我的entitydto正在关注。

我想要的验证如下

column     data_type  validation_rule

date         DATE       YYYY:HH:MM

begin_time   TIME       HH:MM
Run Code Online (Sandbox Code Playgroud)

我想知道如何添加TIME类型以及如何验证YYY:HH:MM

有什么办法可以实现这个验证规则吗typeorm

我目前的工作如下

如果有人有意见请告诉我,谢谢

event.entity.ts


  @Entity('events')
  export class Event extends BaseEntity {
    @PrimaryGeneratedColumn('increment', { type: 'int' })
    id: number;
  
    @Column('date')
    date: Date;

    @Column('date',{name: 'begin_time'})
    beginTime: Date;
}
Run Code Online (Sandbox Code Playgroud)

event.dto.ts

  export class eventRequest {
    @IsInt()  
    id: number;
      
    @IsDateString()
    date: Date;

    @IsDateString()
    beginTime: Date;
}
Run Code Online (Sandbox Code Playgroud)

这是整个表格的详细信息。

mysql> desc events
    -> ;
+--------------+--------------+------+-----+----------------------+----------------+
| Field        | Type         | Null | Key | Default              | Extra          |
+--------------+--------------+------+-----+----------------------+----------------+
| id           | int(11)      | NO   | PRI | NULL                 | auto_increment |
| user_id      | varchar(255) | NO   |     | NULL                 |                |
| title        | varchar(255) | NO   |     | NULL                 |                |
| date         | date         | NO   |     | NULL                 |                |
| is_last_date | varchar(255) | NO   |     | NULL                 |                |
| begin_time   | date         | NO   |     | NULL                 |                |
| end_time     | date         | NO   |     | NULL                 |                |
| place        | varchar(255) | NO   |     | NULL                 |                |
| label_cd     | int(11)      | NO   |     | NULL                 |                |
| detail       | varchar(255) | NO   |     | NULL                 |                |
| createdAt    | datetime(6)  | NO   |     | CURRENT_TIMESTAMP(6) |                |
| updatedAt    | datetime(6)  | NO   |     | CURRENT_TIMESTAMP(6) |                |
| deletedAt    | datetime(6)  | YES  |     | NULL                 |                |
+--------------+--------------+------+-----+----------------------+----------------+
Run Code Online (Sandbox Code Playgroud)