27

サーバー側の検証にJoi パッケージを使用しています。
特定の文字列が特定のリストに含まれているか、特定のリストに含まれていないかを確認したい (値のブラックリストまたはホワイトリストを定義する) 「in」または「notIn」関数のよう
に?

var schema = Joi.object().keys({
    firstname: Joi.string().in(['a','b']),
    lastname : Joi.string().notIn(['c','d']),
});
4

2 に答える 2

34

validandinvalid関数を探しています。
v16: https://hapi.dev/module/joi/api/?v=16.1.8#anyvalidvalues---aliases-equal
v17: https://hapi.dev/module/joi/api/?v=17.1 .1#anyvalidvalues---エイリアスと等しい

Joi v16 以降validinvalid配列を受け入れなくなり、可変数の引数を取ります。

あなたのコードは

var schema = Joi.object().keys({
    firstname: Joi.string().valid(...['a','b']),
    lastname: Joi.string().invalid(...['c','d']),
});

.valid('a', 'b')配列から値を取得しないかのように渡すこともできます(-:

于 2019-10-03T04:39:41.753 に答える