Joi验证多个条件 [英] Joi validation multiple conditions

查看:326
本文介绍了Joi验证多个条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下架构:

var testSchema = Joi.object().keys({
    a: Joi.string(), 
    b: Joi.string(), 
    c: Joi.string().when('a', {'is': 'avalue', then: Joi.string().required()})
});

但是我想在c字段定义上添加一个条件,以便在以下情况下需要它:

but I would like to add a condition on c field definition so that it is required when:

a == 'avalue' AND b=='bvalue'

我该怎么做?

推荐答案

您可以串联两个when规则:

var schema = {
    a: Joi.string(),
    b: Joi.string(),
    c: Joi.string().when('a', { is: 'avalue', then: Joi.string().required() }).concat(Joi.string().when('b', { is: 'bvalue', then: Joi.string().required() }))
};

这篇关于Joi验证多个条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆