首页 > 解决方案 > 如何允许空,但禁止未定义?

问题描述

例如,对于数据库行,我们可能需要不能未定义的可为空属性:

class DbRow {
  @IsNumber()
  id!: number;

  @IsNumber()
  numNullable!: number | null;
}

所以numNullable可以是一个数字或null- 但它绝不能是undefined

我们如何在类验证器中表达这一点?

标签: class-validator

解决方案


事实证明,这可以通过使用条件验证来 ValidateIf实现:

class DbRow {
  @IsNumber()
  id!: number;

  @IsNumber()
  @ValidateIf((object, value) => value !== null)
  numNullable!: number | null;
}

这是一个stackblitz示例


推荐阅读