我可以使用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;
}发布于 2021-05-01 12:16:55
实体应该是干净的
@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)
}希望这能回答你的问题。
https://stackoverflow.com/questions/67340193
复制相似问题