問題タブ [plumatic-schema]

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 投票する
4 に答える
1435 参照

validation - Prismatic スキーマ: 予期しないキーの削除

API がクライアントから JSON データを受信して​​います。

スキーマを使用して、受け取ったデータの検証と強制を実行したいと考えていますが、追加の要件が 1 つあります。スキーマに記述されていないマップ キーがある場合は、検証に失敗するのではなく、無視して削除します (これは、私のクライアントは、私が気にかけているものと一緒にいくつかの「ガベージ」プロパティを送ってくるかもしれません.私はそれに対して寛容になりたい.)

一言で言えば、select-keys検証/強制の前に、スキーマを使用して入力データに対して「深い」を実行したいと思います。

必要なものの例:

これを行う信頼できる方法をまだ見つけていません。

  1. ウォーカーがキーにアクセスできないように見えるため、カスタム変換では実行できないようです。
  2. マップ スキーマとスカラー スキーマを一般的な方法で区別するのは難しいため、手動でスキーマを調べようとしてもうまくいきませんでした。また、スキーマが持つことができるすべての形状を説明することも困難です。

私が見ていない明らかな方法はありますか?

ありがとう!

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

clojure - compojure-api の body と body-params の違いは何ですか?

compojure-api で、リソースの API を指定する次の 2 つの方法に気付きました。

これら2つの違いは何ですか?一方と他方を使用することの意味は何ですか?

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

clojure - Clojureプリズマティック/スキーマdefrecordは列挙ランタイム検証を行いませんか?

Prismatic/Schema を使用している場合、次に示すように、defrecord の列挙型の検証が機能しません。

ただし、enum を long に変更すると、期待どおりに動作します。

誰か知っていますか?どうもありがとう。

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

clojure - プリズマティック スキーマ強制 - マップ キーの名前変更

Prismatic-schema (1.0.4) を使用してマップを強制しようとしています

強要しようとしている

スキーマでカスタムマッチャーを使用する:

しかし、このコードは機能していません:

出力:

スキーマ内のすべてに一致し、現在の値と一致するスキーマを出力する次のコードを実行して、デバッグを試みました。

出力:

マッチャーがマップに到達するとすぐに爆発するように見えますか?

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

clojure - 省略可能な要素の順序

Prismatic/Schema を使用して次のシーケンスを一致させようとしています:

私が試したこと:

主な問題は、指定されたベクトルの最初の要素を省略できるスキーマを記述する方法が何であるかを理解していないことです。上記の両方のベクトルを一致させる正しい方法は何ですか?

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

clojure - Compojure-api では、特定のルートの form-params にスキーマ検証を適用するにはどうすればよいですか?

docs compojure-apiから...

後でコードで次のようなことを行うことができます。

私の質問はform-params、ルートのためにこれをどのように達成できるでしょうか?

すなわち