2017-10-30 7 views
0

私はクエリパラメータ "attributes"を持っています。値は定義済みリストのサブセットでなければなりません。私はJoiとそれをどのように検証しますか?Joiを使用して定義済みリストのサブセットとして検証する方法

はの有効なリストを持つたとえば、[A、B]:

host/url?attributes=a,b,C# not valid 
host/url?attributes=a,b # valid 
host/url?attributes=a # valid 
host/url?attributes=b # valid 

答えて

0

私は、これはあなたが探している答えだと思います。 joi.array().items() & joi.string().valid()を使用します。しかし、 "a"と "b"が何であると考えているのかも分かりません。彼らは弦ですか?

const joi = require('joi'); 

const attributesSchmea = joi.array().items(joi.string().valid(['a', 'b'])); 

console.log(joi.validate(['a'], attributesSchmea)); // valid 
console.log(joi.validate(['a', 'b'], attributesSchmea)); // valid 
console.log(joi.validate(['a', 'b', 'c'], attributesSchmea)); // not valid 
console.log(joi.validate(['b'], attributesSchmea)); // valid 
関連する問題