在Joi中要求有效的字符串,该字符串必须位于其他属性的数组中

时间:2019-04-05 10:43:57

标签: javascript joi

我要使用Joi模式解决以下问题:

有属性locales(arra)和属性default_locale(字符串),后者必须位于locales数组中。

我该如何完成?到目前为止,我有以下内容:

Joi.object().keys({
    locales:
        Joi.array()
        .items(
            Joi.string()
            .valid(AllLocales)) // must be any of available locales
        .required(),
    default_locale: // this should be any of the values from locales
        Joi.string()
        .required()
});

1 个答案:

答案 0 :(得分:0)

我发现我可以简单地使用refhttps://github.com/hapijs/joi/blob/v14.3.1/API.md#refkey-options)。

default_locale: Joi.string().valid(Joi.ref('locales')).required()