10得票1回答
如何使用 Joi 一次性获取所有验证错误?

我遇到了与 Joi 验证相关的问题,每当我向 Joi 发送请求时,它只会抛出单个错误。 var CreateValidationSchema = Joi.object().keys({ name: Joi.string().required().max(255).label("N...

9得票2回答
joi验证中的.when(),用于根据另一个键验证一个键。

管理员将创建用户时,会输入一些随机字符串作为密码。当管理员编辑现有用户时,除非他想更改密码,否则不需要输入任何密码。如果管理员没有输入任何密码,则将使用旧密码。 因此,我尝试使用.when()来处理这种情况。当负载中存在_id时(仅当用户存在时可能会出现),那么我们应该使密码字段变为可选,否...

81得票6回答
如何在Joi字符串验证中使用枚举值

我正在使用Joi验证器来进行HTTP请求。这里有一个名为type的参数。我需要确保该参数的可能值为"ios"或"android"。 我该如何做到呢?body : { device_key : joi.string().required(), type : joi.string().r...

8得票3回答
在使用Hapi.JS Joi模块的Express.JS应用程序中,输入验证和输入净化之间有何区别?

使用 Hapi.JS Joi 来验证 Express 应用程序的输入。这是一个样板设置: const Joi = require('joi'); const schema = Joi.object().keys({ username: Joi.string().alphanum()....

56得票6回答
允许在joi和express-validation中字符串为空或为null

我在我的项目中使用了 "joi": "10.0.6" 和 "express-validation": "1.0.1" 来验证一个 JSON 对象,这个对象将被保存到数据库中。 其中一个字段是字符串,但它可能是 null 或空的。我该如何让我的字符串在这些情况下通过验证? 我已经尝试过以下情...

14得票1回答
使用 Joi,验证布尔值为真。

使用Joi验证布尔值为true是否可能?我尝试过使用allow、valid和invalid,但没有成功。

8得票4回答
升级 Joi 至最新版本后出现错误 - Schema 只能包含普通对象 (名称)

将Joi升级到最新版本@hapi/Joi(17.1.1)后,我的服务器无法启动,在启动时出现以下错误。最近的版本中似乎有一些破坏性变化。目前还没有找到任何线索,感谢任何帮助。 Error: Schema can only contain plain objects (name) at...

9得票1回答
Joi字段校验基于另一个字段的一组值。

我正在尝试根据另一个字段的一组值验证对象中的字段。假设我的对象有两个字段,field1和field2。字段一可以取值A、B、C、D、E、F、H、I。现在假设如果field1是以下任何一个值,A、B、C、H,则field2应该为null。如何实现呢?我认为应该具有下面的语法,但我不知道如何完全实...

7得票1回答
Joi验证:如果对象符合模式,则从多个项目对其进行验证。

我有一个对象数组需要验证特定的模式,如果其中任何一个对象与给定的模式匹配,我想针对它进行验证并忽略其他模式并移动到下一个数组项。 我尝试了Joi.alternatives,但它将检查所有模式,而不仅仅是检查是否匹配了一个。 我的验证器: Joi.array().min(1).max(49...

15得票1回答
Joi验证模式 - 两个字段不能具有相同的值

假设我有以下模式:var schema = { fieldOne: Joi.string().required(), fieldTwo: Joi.string().required() }; 是否可能设置一个验证规则,检查两个字段是否具有不同的值?