112得票7回答
Joi数组验证

尝试验证数组在一种情况下具有零个或多个字符串,而在另一种情况下具有零个或多个对象,但是在 Joi 文档中遇到了困难 :(validate: { headers: Joi.object({ 'content-type': "application/vnd...

87得票3回答
Joi模式中仅允许特定键值

除了正则表达式模式之外,是否有其他方法可以在Joi验证模式中为键设置特定值? 我的示例模式:const schema = joi.object().keys({ query: joi.object().keys({ // allow only apple and ba...

86得票17回答
Node.js + Joi如何显示自定义错误消息?

使用Joi在Node.js RESTapi中验证用户输入似乎非常简单。 但问题是我的应用程序不是用英语编写的。 这意味着我需要向前端用户发送自定义编写的消息。 我已经搜索过这个问题,但只找到了相关的问题。 也许有人能够为此提供解决方案吗? 这是我用Joi系统进行验证时使用的代码: ...

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

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

76得票6回答
如何使用Joi验证对象数组?

我正在将一个包含服务名称的对象数组发送到后端,其结构如下所示[{"serviceName":"service1"}, {"serviceName":"service2"},..] 当我在后端获取数组时,我希望验证数组中的每个对象是否具有serviceName属性。 我已经编写了以下代码,但即...

59得票2回答
如何在Joi中允许任何其他按键

我有一个简单的需求。我尝试在互联网和文档中搜索,但都没有成功。 这是我想要实现的: 我有一个模式:const schema = Joi.object().keys({ a: Joi.string().required(), b: Joi.string().required() });...

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

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

43得票1回答
为什么JOI比AJV更受欢迎?

我正在决定一种验证库,可用于客户端和服务器端的验证。我一直在比较 JOI (+ joi-browser) 和 AJV。 据我所知,JOI和AJV可以完成相同的事情。AJV甚至可以执行异步验证,而JOI无法。似乎AJV也会验证以标准格式编写的JSON模式,这很方便,但不像JOI那样开发者友好。...

39得票2回答
Joi验证多个条件

我有以下模式:var testSchema = Joi.object().keys({ a: Joi.string(), b: Joi.string(), c: Joi.string().when('a', {'is': 'avalue', then: Joi.st...

36得票17回答
joi_1.default.validate不是一个函数。

在调用控制器逻辑之前,我想要验证我的Express路由。我使用joi创建了一个验证器,该验证器能够根据模式对象验证请求对象。import { Request, Response, NextFunction } from 'express'; import joi, { SchemaLike, ...