问题标签 [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.

0 投票
1 回答
1820 浏览

javascript - Joi 验证枚举作为地图中的键

我有一个表示为字符串的枚举列表

我想使用 Joi 来验证 Immutable.js 映射是否具有来自数字的键constKeys和值。看起来我可以做类似的事情

constKeys但是如果真的很长,这种方法将无法正常工作。有没有办法让 Joi 知道密钥必须来自constKeys并且值是数字?

0 投票
1 回答
1547 浏览

javascript - Hapi-Joi 验证有效负载,可以是对象数组还是简单的 Javascript 对象?

我有一个 post call 可以将有效负载作为单个JS对象以及对象数组将其保存到数据库中。如何编写模式来验证此类有效负载?

JS 对象

或者

0 投票
1 回答
849 浏览

javascript - 字典验证?

使用 Joi 验证包含自定义键的字典的最佳方法是什么?

0 投票
1 回答
19568 浏览

validation - Joi 对象验证:如何验证具有未知键名的值?

我有一个我不可能知道的键名的对象——它们是由用户创建的。但是我确实知道它们(键)将存储什么值,并且它们(值)将是 ISO 字符串。如何验证这些值?并且,可选地,我如何验证 uknown 对象的键,即:

我已经尝试过的是基于 Joi API 文档:

使用 Joi.object([schema]) 而不是普通的 JS 对象的另一个好处是>您可以在对象上设置任何选项,例如允许未知键,例如:

const schema = Joi.object({ arg: Joi.string().valid('firstname', 'lastname', 'title', 'company', 'jobtitle'), value: Joi.string(), }).pattern(/firstname|lastname/, Joi.string().min(2));

我从例子中了解到的是argkey 代表Joi.object()'s key,并且value代表 it's value

我的例子:

我的意见;

我的错误:

"campaign" 失败,因为 ["g_ad_adwords" is not allowed]

0 投票
0 回答
666 浏览

validation - 基于其他两个字段的Joi字段值评估

我不确定是否可以在验证块本身中执行此操作,但我正在尝试。

我有这样的东西

})

我的问题是当fromLocation和的值toLocation相等时,然后使用传递的值,AssignedUser否则将其设置为空字符串''。

我该怎么办?

我尝试将函数参数传递给

我的问题是这个默认块代码只有在assignedUser为空时才会执行,但我希望每次都执行这个代码块并根据和评估fromLocationtoLocation

有什么帮助吗?

0 投票
1 回答
1283 浏览

node.js - Hapi 的 Joi 不会将数组的一个元素转换为数组

我正在尝试对 url 使用数组值。所以我把它作为 Joi 验证。

如果我这样做,效果很好

它被entity视为一个数组,所以当我从request

但是,如果我这样做

我得到entity字符串而不是['person']

我想要的是我希望这个网址http://something.com/query?entity=personentity视为['person']

0 投票
1 回答
891 浏览

node.js - Joi 从另一个模型中获取模式

如何使用 Joi 从另一个模型导入模式?

主类:

子类:

我收到了这个错误:Invalid schema content

编辑:

如果我将架构用作 var 并将其导入,则可以:

0 投票
6 回答
39596 浏览

node.js - 在 joi 和 express-validation 中允许字符串为空或空

我在我的项目中使用 "joi": "10.0.6" 和 "express-validation": "1.0.1" 来验证我将保存在数据库中的 JSON 对象。其中一个字段是字符串,但它可以为 null 或空。在字符串为空或 null 的情况下,如何允许我的字符串通过验证?

我已经尝试过这些案例:

但它们都不起作用。

0 投票
7 回答
109971 浏览

hapijs - 数组的Joi验证

试图验证一个数组在一种情况下有零个或多个字符串,而在另一种情况下它有零个或多个对象,在 Joi 文档中苦苦挣扎:(

0 投票
2 回答
11083 浏览

joi - Joi - 验证对象键和值?

我如何使用 Joi 验证替换字段有零个或多个键/值对?并且每个键都是一个字符串,每个值是一个字符串、数字还是布尔值?