javascript - 在核心规则全部为正之前,我的 Joi 扩展规则不会被执行
问题描述
我们使用 Joi.extend() 函数扩展了 Joi,以便进行一些自定义验证。不幸的是,这个扩展只有在其他所有核心 Joi 规则都被测试为阳性时才会执行。
我现在不想发布代码,也许有一个通用的解决方案,例如 Joi 中的某种“设置”或使用 extend() 函数的常见错误。
在此先感谢您的帮助。
解决方案
我通过单独执行规则来解决它。我们构建了一个这样的链,其中 requireField 是我们的自定义规则之一:
const ConfSchema = Joi.customObject().keys({ ... core rules ...}).requireField(... custom rules ...);
现在我们进入步骤:
const ConfSchema = Joi.object().keys({ ... core rules ...});
const CustomConfSchema = Joi.customObject().requireField(... custom rules ...);
推荐阅读
- testing - 如何在 .testcaferc 配置文件中为夹具元设置多个过滤器?
- android - 如何修复 WhatsApp 点击聊天链接在手机上找不到 WhatsApp Messenger
- php - PHP:根据每月第二个星期四的时间范围做事
- class - 如何在 React.js 中导入具有更新状态的类
- python - 如果在包根目录中,则无法导入 C++ 扩展
- postgresql - 检测到未定义的绑定
- python - 如何使用 JSON 数据中的 python 来比较昨天和今天的 change_data?
- c# - 使用 SQL Server 连接字符串时出错
- javascript - 如何将邮递员生成的这段代码转换为使用 axios 的请求?
- python - 我收到 Django 的 IntegrityError UNIQUE 约束失败