如何根据typescript nestjs中的字符串枚举验证字段

aor9mmx1  于 2023-01-03  发布在  TypeScript
关注(0)|答案(1)|浏览(219)

我有一个时区枚举,如下所示

export enum Timezones  {
    'Europe/Andorra',
    'Asia/Dubai',
    'Asia/Kabul',
    'America/Antigua'
}

在DTO文件中,我将根据枚举验证timezone字段,如下所示

@IsEnum(Timezones, { each: true })
  timezone: string;

但是验证不起作用并且也接受其它值。

g52tjvyc

g52tjvyc1#

此枚举

export enum Timezones  {
    'Europe/Andorra',
    'Asia/Dubai',
    'Asia/Kabul',
    'America/Antigua'
}

如图所示解释

export enum Timezones  {
    0 : 'Europe/Andorra',
    1 : 'Asia/Dubai',
    2 : 'Asia/Kabul',
    3 : 'America/Antigua'
}

因此,您实际上是在验证索引0、1、2、3 ...我不确定如何解决此问题

相关问题