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 | |
+--------------+--------------+------+-----+----------------------+----------------+