問題タブ [joi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1296 参照

javascript - Joi で有効なオブジェクトを確認する方法

エンドポイントへの入力の有効な組み合わせを表すオブジェクトの配列があります。

たとえば、ユーザーは、'productA' で 'portfolioA' を要求できますが、'productB' では要求できません。または、'productB' または 'productC' で 'portfolioB' を要求できます。

取得する入力は次のようになります。

このオブジェクトを「ポートフォリオ」内の有効なオブジェクトに対してプログラムでチェックできるようにしたいと考えています。を使用してこれを実行できると思いましJoi.object().valid(portfolios)たが、検証は失敗します。

when() を使用して、以下のスキーマを使用してこれらのそれぞれを手動でチェックできますが、ポートフォリオの配列は変更される可能性があり、毎回検証コードを変更する必要はありません。有効なオブジェクトの配列を与えることをお勧めします。

補足として、検証が失敗すると、文字列表現の代わりにこれが表示されます。

Joiでオブジェクトの配列に対してオブジェクトをチェックする方法はありますか?

0 投票する
1 に答える
1104 参照

javascript - DynamoDB TypeError の Joi エラーを修正する方法: child.schema._getLabel は関数ではありません

以下に示すように、dynamodb にスキーマがあり、Joi、Vogels、および NodeJS を使用しています。

次のデータをテーブルに挿入しようとしています

以下のnodejsコードを使用して、データをテーブルに挿入しています

次のエラーが表示されます

誰かが私を助けたり説明したりできますか?なぜこのエラーが発生するのか、それを修正する方法は?

0 投票する
1 に答える
363 参照

node.js - Hapi 15.0.1 での Hapi Hoek 起動前エラー

npm パッケージを Hapi のバージョン 15.0.1 に更新したところですが、Joi プラグインを介して Hoek でこの PreStart エラーが発生しています。この最近の更新により、このエラーから Joi を使用する方法がどのように変更されたか教えてください。

0 投票する
0 に答える
561 参照

javascript - 配列にネストされたオブジェクトとの Joi 連結

私は現在、この Joi スキームを持っています:

そして、異なるオブジェクトキーで同じように見える別のもの(私は編集/読み取りができません)

これらを次のような方法でマージする必要があります。

使用するscheme1.concat(scheme2)と、次のようになります。

2 番目のスキームを (concat を除いて) 変更またはアクセスせずに、どうすればこれを行うことができますか?

0 投票する
2 に答える
16369 参照

hapijs - hapijs joi validation 、1つのフィールドを検証するだけで、任意のフィールドを許可します

1 つのフィールドを検証し、検証なしで別のフィールドを許可したい。例として検証するだけです:「名」フィールド。私のコードでは、「ペイロード」にコメントすると、hapi は任意のフィールドを記録できます。「ペイロード」のコメントを外すと、hapijs はフィールドを記録できませんが、例で「firstname」が「string」であることを検証したいだけです。残りのフィールドを許可します。可変フィールドをデータベース構成に一致させる予定なので、いくつかの固定フィールドを検証し、バックエンドではなくフロントエンドで制御される別の可変フィールドを保存します。

更新: Robert K. Bell のおかげで、「検証」を追加することで解決策を適応させました。

0 投票する
1 に答える
14168 参照

node.js - Joiで文字列を検証するには?

Node Joi検証に使用しています。私はノードが初めてなので、env「はい」または「いいえ」の 2 つの単語のみを受け入れるように検証したい 次のコードで行う必要がある変更