Node.js 类验证程序不';无法验证实体
我可以使用Node.js 类验证程序不';无法验证实体,node.js,typescript,postgresql,nestjs,typeorm,Node.js,Typescript,Postgresql,Nestjs,Typeorm,我可以使用类验证器验证实体列吗 这不会验证列: import { IsEmail } from 'class-validator'; @Entity() export class Admin extends BaseEntity { @Column({ unique: true }) @IsEmail() email: string; } 但是,当我使用类验证器时,它会正确地验证代码中除实体之外的任何其他地方,并且不允许错误的输入 这项工作: @InputType() exp
类验证器
验证实体
列吗
这不会验证列:
import { IsEmail } from 'class-validator';
@Entity()
export class Admin extends BaseEntity {
@Column({ unique: true })
@IsEmail()
email: string;
}
但是,当我使用类验证器时,它会正确地验证代码中除实体之外的任何其他地方,并且不允许错误的输入
这项工作:
@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;
}
在控制器中,您将与管理员一起检查传入的请求
@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)
}
希望这能回答您的问题。实体应该是干净的
@Entity()
export class Admin extends BaseEntity {
@Column({ unique: true })
email: string;
}
定义DTO以检查传入请求时
export class AdminDto {
@IsEmail()
email: string;
}
在控制器中,您将与管理员一起检查传入的请求
@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)
}
希望这能回答您的问题。您是否使用Admin
类a输入DTO类型?我认为最好不要公开您的实体,而只依赖DTO=>Entity mappingNo我使用RegisterInput
,因为这不应该在数据库级别上进行。带有验证管道的DTO将是最好的解决方案。您检查传入的请求,然后让它与与与数据库交互的服务进行通信。您是否使用Admin
类a输入DTO类型?我认为最好不要公开您的实体,而只依赖DTO=>实体映射否我使用RegisterInput
,因为这不应该在数据库上执行数量带有验证管道的DTO将是最好的解决方案。您检查传入的请求,然后让它与您的服务进行通信,该服务与数据库进行交互。这就是我要找的。谢谢,我也有同样的问题。这就是我要找的。非常感谢。