类验证程序不验证实体



我可以使用class-validator验证Entity列吗?

这不会验证列:

import { IsEmail } from 'class-validator';
@Entity()
export class Admin extends BaseEntity {
@Column({ unique: true })
@IsEmail()
email: string;
}

然而,当我在代码中除实体以外的任何其他地方使用class-validator时,它会正确验证,不允许错误的输入。

这项工作:

@InputType()
export class RegisterInput {
@Field()
@IsEmail()
email: string;
}

实体应该是干净的

@Entity()
export class Admin extends BaseEntity {

@Column({ unique: true })
email: string;

}

当您定义用于检查传入请求的DTO时。

export class AdminDto {
@IsEmail() 
email: string;
}

在控制器中,您将使用AdminDto检查传入请求。

@Controlller('route')
export class AdminController {
constructor(private yourService: yourserviceClass)
@Post('/api')
async createSomething(@Body('email', ValidationPipe) email: string){ //Your request body //would be checked against your DTO
this.yourService.createMethod(email)
}

希望这能回答你的问题。

最新更新