问题标签 [joi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 允许在 Joi 中使用可选参数而不指定它们
我对使用 Joi 验证 hapi 中的请求有效负载相当陌生。我的问题如下。我有这个定义的路线:
电子邮件和密码是我必需的属性。但是,我想允许其他属性而不必全部指定。例如:
有没有办法用 Joi 做到这一点?
arangodb - 修改 Header 服务器:ArangoDB
这似乎很容易,但我找不到这样做的方法。是否可以更改响应中发送的标头
服务器:ArangoDB
通过别的东西(为了不那么冗长和更安全)?
另外,我需要在文档中存储一个大字符串(很长的 url + 很多信息),但是 joi.string 的最大长度是多少?
谢谢,
javascript - 如何在没有循环依赖的模型之间正确共享 Hapi Joi 验证模式
我正在使用 HAPI 和 Joi 创建一个 API 来验证输入,并且在不同模块之间共享我的验证模式时遇到了麻烦。我正在使用一个看起来像这样的面向组件的架构
在每个模块中,moduleXRoute
创建一个路由来关联来自的处理程序moduleXController
和来自的验证器moduleXValidate
。
当我使用 Joi 时,我正在对输入数据执行一些测试,并且问题出在哪里,我moduleA
保留了一个列表moduleB
并且我moduleB
保留了对 的引用moduleA
,因此这在验证器中暗示:
这就是为什么,我认为暴露moduleAValidate
和其他模块可以使用是一个好主意。moduleBValidate
moduleASchema
moduleBSchema
问题是它会产生循环依赖问题,因为在上述情况下,我会:
因此,处理问题的好方法是什么?
我发现最简单的方法是将所有模式集中在一个文件中,这可能是所有验证器都需要的,但我觉得它与组件架构相矛盾。
node.js - Joi 验证 - 与 POST 中的日期进行比较
我目前在 HapiJS / NodeJS 中使用 Joi 来验证数据。特别是一个 POST 有两个 ISO 日期(开始日期和结束日期),它们被传递到路线并经过验证以确保它们是 ISO 日期。
我知道我可以通过这两个日期并在控制器中进行一些验证,以确保开始日期早于结束日期(即开始日期不能是二月,结束日期是一月)。
我的问题是,是否有办法让 Joi 确定这一点并出错?如果需要更多信息,请告诉我。
谢谢!吨
javascript - Joi 验证模式 - 两个字段不能具有相同的值
假设我有以下架构:
是否可以设置一个验证规则来检查两个字段是否具有不同的值?
javascript - 使用嵌套对象进行 Hapi/Joi 验证
我对我的一条路线进行了以下验证:
我正在努力做到这一点,containsAny
或者containsAll
必须至少包含一个字符串。如果containsAny
为空,containsAll
则应至少有一项。如果containsAll
为空,containsAny
则至少应包含一项。
Joi.when
但是当涉及到对象数组时,它似乎并没有真正起作用。
node.js - Loading Joi Schemas From Files
I would like to create a way to read
multiple files, each of which contain the definition of one Joi schema, and then load/push
them into an object or array that I can call from my Node app.
Normally, this is done inline in code:
How should I define each Joi schema in one file, and how do I load them such that they are instantiated and usable in the main app?
node.js - 生成 Joi 验证 Sequelize 模型
expressjs
我已经使用并且Sequelize
是我使用的 ORM开发了一个 API 。我想将快速验证集成到我的 API 以验证请求正文和参数。该express-validation
框架使用 Joi 验证规则。但由于我已经在我的Sequalize
模型中定义了验证规则,我不喜欢使用 Joi 重新定义验证规则以进行请求正文验证。
我只是想知道是否有任何方法或库可以根据 Sequelize 模型中定义的验证生成 Joi 验证规则。否则,处理此问题的最佳方法是什么?
javascript - JOI模式验证条件下如何访问数组外的键
我有一个问题。
我有上面的对象,我必须对 Type 进行验证。但是Type
取决于ShippingSourceType
和ShippingDestinationType
在参数中。
如果ShippingSourceType
是系统那么Type
应该是Export
。如果ShippingDestinationType
是 System 那么 Type 应该是Import
。
我已验证类型如下:
但它没有用。你能建议如何解决这个问题吗?
node.js - 在 Mongoose 和 Joi 之间只维护一个模式的最佳方法
我正在使用 Hapi 开发 Web 服务,Mongoose 作为 ODM,Joi 作为验证器。我真的很喜欢 Joi 的验证以及它与 HAPI 连接的方式(我需要 Joi 的描述函数来大摇大摆地显示一些描述),但我不想维护两种模式,一种用于 Joi,一种用于猫鼬;我想使用 Joi 定义我的模式,然后只能导出 Mongoose 所需的基本模式。例如:
mySchema.js
myValidator.js
myModel.js
myHapiRoute.js
我想避免维护mySchema.js文件完全从 Joi 的模式生成它的麻烦。
关于如何做到这一点或任何不同的方法的任何建议?