Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 类验证程序不';无法验证实体_Node.js_Typescript_Postgresql_Nestjs_Typeorm - Fatal编程技术网

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将是最好的解决方案。您检查传入的请求,然后让它与您的服务进行通信,该服务与数据库进行交互。这就是我要找的。谢谢,我也有同样的问题。这就是我要找的。非常感谢。