【发布时间】:2022-02-14 03:29:40
【问题描述】:
我有一个 DTO。我需要根据一些字符串验证用户条目。这些值来自 ENV 文件。我得到了它的工作,但我也需要忽略这个案例。
这是来自 env 文件的值:
SEARCH_BY_LANGUAGE="Java,Javascript"
这是我的版本,但它对大小写很敏感:
@Expose()
@IsNotEmpty()
@ApiProperty()
@IsIn(process.env.SEARCH_BY_LANGUAGE.toLowerCase().split(","))
targetLanguage: string
这种方法的问题在于,java 和 Java 的处理方式不同。
我尝试过使用@Matches,像这样:
@Expose()
@IsNotEmpty()
@ApiProperty()
@Matches(`^${process.env.SEARCH_BY_LANGUAGE.split(",")}$`, 'i')
targetLanguage: string
但我收到此错误:
[ExceptionsHandler] 提供给 RegExp 构造函数的标志无效 '^Java,Javascript$' +14493m
我觉得我很接近,但无法弄清楚。
【问题讨论】:
-
为什么不将传入的值强制为小写,以便使用
@Transform()对@IsIn()装饰器进行检查?
标签: javascript node.js nestjs