Joi ライブラリを使用してオブジェクトを検証しています。別のオプション プロパティ (同じオブジェクトの同じレベルにある) が特定の型 (文字列など) である場合に、特定のプロパティを必須にしたいと考えています。Joi のドキュメントには、次の例が示されています。
const schema = {
a: Joi.when('b', { is: true, then: Joi.required() }),
b: Joi.boolean()
};
ただし、b (たとえば) が true であることを確認するのではなく、文字列であるかどうかを確認したいと思います。私はこれを試しました:
const schema = {
a: Joi.when('b', { is: Joi.string(), then: Joi.required() }),
};
しかし、うまくいかないようです。オブジェクトから b を完全に削除しても、 Joi はまだ a が必要であると予想しているようです。b がオブジェクトに含まれていない場合、a に検証を適用したくありません。
これを行っている人々の他の例を見つけることができません-誰か助けてもらえますか?