How to validate date and time in typeorm and nestjs

Viewed 4738

I'd like to add validation rule in typeorm and nest.js based application.

my entity and dto is following.

My desired validation is following

column     data_type  validation_rule

date         DATE       YYYY:HH:MM

begin_time   TIME       HH:MM

I'd like to know how to addTIME type and how to validate YYY:HH:MM

Are there any way to achive this validation rule in typeorm ?

My current work is following

If someone has opinion, please let me know, thanks

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;
}

event.dto.ts

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

    @IsDateString()
    beginTime: Date;
}

Here is details of entire present tables.

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                 |                |
+--------------+--------------+------+-----+----------------------+----------------+
0 Answers
Related