我有以下架构:
var testSchema = Joi.object().keys({
a: Joi.string(),
b: Joi.string(),
c: Joi.string().when('a', {'is': 'avalue', then: Joi.string().required()})
});
Run Code Online (Sandbox Code Playgroud)
但是我想在c字段定义中添加一个条件,以便在以下情况下使用它:
a == 'avalue' AND b=='bvalue'
我怎样才能做到这一点?
我已经安装了 18.04 ubuntu docker 映像,并在其中安装了以下软件包:
apt-get install traceroute
apt-get install net-tools
apt-get install iputils-ping
apt-get install netbase
Run Code Online (Sandbox Code Playgroud)
但是当我使用traceroute时,docker之外的所有数据包似乎都被过滤了:
#traceroute google.com
traceroute to google.com (172.217.16.206), 30 hops max, 60 byte packets
1 172.17.0.1 (172.17.0.1) 0.397 ms 0.309 ms 0.286 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
Run Code Online (Sandbox Code Playgroud)
有没有解决方法可以使其发挥作用?请注意,在 Windows 主机中,tracert 可以工作。
我有这个虚拟代码
var Promise = require('bluebird')
function rej1(){
return new Promise.reject(new Error('rej1'));
}
function rej2() {
return new Promise.reject(new Error('rej2'));
}
function rej3() {
return new Promise.reject(new Error('rej3'));
}
Promise.all([rej1(),rej2(),rej3()] ).then(function(){
console.log('haha')
},function(e){
console.error(e);
})
Run Code Online (Sandbox Code Playgroud)
在rejectionHandler中,我只看到第一次拒绝.是否可以查看所有三次拒绝?
我有一个数组字段,我想确保在满足条件时它至少具有一个元素:
genre:Joi.array().includes(data.genres).when('field'{is:'fieldValue',then:Joi.required()})
Run Code Online (Sandbox Code Playgroud)
如果我用Joi.required()。min(1)更改了'then'字段,它会抱怨。
我可以和Joi一起做吗?