在 Joi

问题描述

我正在努力弄清楚为什么我不能使用 Joi.ref() 来设置正则表达式值。我收到如下错误joi regex must be a RegExp。我已经测试了我的正则表达式并且它有效。

如何将正则表达式作为上下文传递给架构?

我尝试将值包装在 toString 中,然后使用 RegExp 无济于事。我认为这与 Regex 的格式有关。

Joi 架构:

var Schema = Joi.object({
  includeCharacters: Joi.string()
    .max(10)
    .regex(new RegExp(Joi.ref("$regexEC1")),{
      invert: true,})
    .optional()
    .allow("")
});

JS 函数

var regexEC = new RegExp(`/[THE]/i`);

var validationErrors = Schema.validate(
          this.settings,{
            context: { regexEC1: regexEC },}
        );

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)