相关疑难解决方法(0)

使用Joi,要求两个字段中的一个非空

如果我有两个字段,我只想验证至少一个字段是非空字符串,但是当两个字段都是空字符串时失败.

这样的事情无法验证

var schema = Joi.object().keys({
    a: Joi.string(),
    b: Joi.string()
}).or('a', 'b');
Run Code Online (Sandbox Code Playgroud)

验证时

{a: 'aa', b: ''}
Run Code Online (Sandbox Code Playgroud)

or条件只测试了两种关键的存在ab,但确实为条件测试是否a还是b如此.Joi.string()空字符串会失败.

以下是一些要展示的测试用例的要点

http://requirebin.com/?gist=84c49d8b81025ce68cfb

javascript hapijs joi

12
推荐指数
2
解决办法
7942
查看次数

Joi 验证器只有一个键

我正在开发一个应该允许多个参数的 api,但对于其中三个我只想允许其中一个。每个键的值更容易,但我想知道 Joi 是否也允许它,或者我应该在我的服务器中添加额外的验证逻辑。

简而言之,对于 keys ab或者c我想失败具有三个以上之一的任何请求,因此:

  1. http://myapi.com/?a=value一个有效的请求。

  2. http://myapi.com/?b=value&c=value2无效的

谢谢!

javascript node.js joi

6
推荐指数
1
解决办法
2929
查看次数

标签 统计

javascript ×2

joi ×2

hapijs ×1

node.js ×1