サーバー側の検証に Joiパッケージ を使用しています。
特定の文字列が特定のリストにあるかどうか、または特定のリストにないかどうかを確認したい(値のブラックリストまたはホワイトリストを定義する)
sth( "in"または "notIn"function。どうすればできますか?
var schema = Joi.object().keys({
firstname: Joi.string().in(['a','b']),
lastname : Joi.string().notIn(['c','d']),
});
どうですか:
var schema = Joi.object().keys({
firstname: Joi.string().valid(['a','b']),
lastname : Joi.string().invalid(['c','d']),
});
別名もあります:.allowと.only
および.disallowおよび.not
valid
およびinvalid
関数を探しています。
https://hapi.dev/family/joi/?v=16.1.5#anyvalidvalues---aliases-equal
Joi v16以降、valid
およびinvalid
は配列を受け入れなくなり、可変数の引数を取ります。
あなたのコードは
_var schema = Joi.object().keys({
firstname: Joi.string().valid(...['a','b']),
lastname: Joi.string().invalid(...['c','d']),
});
_
配列から値を取得しない場合は、.valid('a', 'b')
として渡すこともできます(-: