34得票3回答
Yup和Joi用于前端验证,哪个更好?

我想使用Yup或Joi之一来实现前端验证。 从我找到的所有文档和文章中,我得出了几个结论: Joi性能更好 Joi在后端验证方面更受欢迎,而Yup在前端验证方面更受欢迎 Joi在前端支持方面存在缺乏支持的问题 根据官方文档,Yup更精简,适用于客户端验证 Yup的包大小约为Joi的2.5倍-...

32得票1回答
Joi对象验证:如何验证具有未知键名称的值?

我有一个对象,其中包含用户可能创建的我无法预知的键名。但是我确实知道它们(键)将要存储哪些值,并且它们(值)将是 ISO 字符串。我该如何验证这些值?另外,我如何验证未知对象的键,即: key: Joi.string().min(2).max(25) 我已经尝试过的内容基于 Joi API 文...

31得票6回答
使用Joi,要求其中一个字段非空。

如果我有两个字段,只想在至少一个字段是非空字符串时进行验证,但当两个字段都是空字符串时则不通过。类似这样的方式无法进行验证var schema = Joi.object().keys({ a: Joi.string(), b: Joi.string() }).or('a', '...

31得票3回答
如何在Joi中添加自定义验证器函数?

我有 Joi schema 并且想要添加一个自定义验证器来验证数据,这是使用默认的 Joi 验证器无法实现的。 目前,我正在使用 Joi 的 16.1.7 版本。 const method = (value, helpers) => { // for example i...

31得票4回答
Nodejs - 使用Joi检查字符串是否在给定列表中

我正在使用Joi软件包进行服务器端验证。 我想检查给定的字符串是否在给定的列表中,或者它是否不在给定的列表中(为值定义黑名单或白名单) 类似于"in"或"notIn"函数。我该如何做到这一点? (Note: This is the same cont...

31得票7回答
Joi验证器条件模式方案

我需要在node js中使用Joi验证器创建动态模式以验证我的API请求查询,具体取决于请求查询中的一个键。假设以下模式是我的有效查询: 我正在使用hapi/joi版本16.1.8 组合1{ type: 1, firstname: 'user first name', lastname: ...

29得票5回答
Joi嵌套模式

我正在尝试在 joi 中创建嵌套的架构,但是它会抛出错误 [Error: 对象架构不能是 joi 架构]var nestedSchema = joi.object({ b: joi.number() }); var base = joi.object({ a: joi.st...

29得票2回答
Joi验证 - 如何基于另一个键是否存在于数组中来要求或选择性地设置字段?

我有以下的 Joi 模式: let schema = {}; let stations = { contact: { first_name: Joi.string().min(2).max(10).regex(Regex.alphabeta, 'alphabeta'...

25得票3回答
hapijs joi 验证,只验证一个字段并允许任何字段。

我想验证一个字段,并允许其他字段不进行验证。例如,只验证“firstname”字段。当我在代码中注释掉'payload'时,hapi允许我记录任何字段,当我取消对'payload'的注释时,hapijs不允许我记录任何字段,但是我只想验证例如“firstname”是否为“string”,并允许...

25得票1回答
Joi:“tel”不能为空

尽管tel被设置为可选,但Joi返回了上述错误。我们该如何解决? 谢谢。 错误:Joi失败:ValidationError:子"tel"失败,因为["tel"不允许为空] //Define Joi schema const schema = { email: Joi...