# Using Validation
To use validation use class-validator (opens new window). Example how to use class-validator with TypeORM:
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"
import {
Contains,
IsInt,
Length,
IsEmail,
IsFQDN,
IsDate,
Min,
Max,
} from "class-validator"
@Entity()
export class Post {
@PrimaryGeneratedColumn()
id: number
@Column()
@Length(10, 20)
title: string
@Column()
@Contains("hello")
text: string
@Column()
@IsInt()
@Min(0)
@Max(10)
rating: number
@Column()
@IsEmail()
email: string
@Column()
@IsFQDN()
site: string
@Column()
@IsDate()
createDate: Date
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Validation:
import { validate } from "class-validator"
let post = new Post()
post.title = "Hello" // should not pass
post.text = "this is a great post about hell world" // should not pass
post.rating = 11 // should not pass
post.email = "google.com" // should not pass
post.site = "googlecom" // should not pass
const errors = await validate(post)
if (errors.length > 0) {
throw new Error(`Validation failed!`)
} else {
await dataSource.manager.save(post)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15