Вы можете использовать регулярное выражение примерно так:
var list = ['fr', 'be']; // your counrty codes
var joinedList = '(' + list.join('|') + ')'; // prepare RegExp cases
var regex = new RegExp('^' + joinedList + '(,' + joinedList + ')*$') // the thing in itself
Тогда:
countries: Joi.string().regex(regex).required()
Это будет соответствовать любому коду страны в list
, отдельно или всписок через запятую.Я добавил required()
, поскольку я считаю, что valid()
неявно делает поле обязательным, если вы не разрешите значение undefined
.