2012-12-02 12 views
12

私はNode.jsとExpress.jsを使用してアプリケーションを作成しています。アプリには(小)REST APIがあり、その後ウェブフロントエンドがあります。私はMongoDbを使用します。POSTデータExpress.jsでのJSON検証

APIの場合、私はいくつかのエンドポイントにデータを転送してから、何らかの処理をして、データベースにダンプします。しかし、私はいくつかのデータベーススキーマを持っています。私のPOSTデータに特定の構造を強制するための私の選択肢/ベストプラクティスは何ですか?特定のフィールドが存在し、特定のタイプがあることがわかっています。

ミドルウェアレベルでこれを行うことができればいいですが、それは必要ではありません。人々は通常、検証/スキーマ施行のために何をしますか?

答えて

10

node-validatorはあなたが探しているものです。あなたはこの

var check = require('validator').check; 

//Validate 
check('[email protected]').len(6, 64).isEmail();  //Methods are chainable 
check('abc').isInt();        //Throws 'Invalid integer' 

それとも、ミドルウェアとしてノード・バリデータの上に構築されexpress-validatorを使用することができるようなスタンドアロンモジュールとして使用することができます。

+2

node-validatorとexpress-validatorの両方が良いオプションです...しかし、現在のバージョンのexpress-validatorには、ネストされたデータをサニタイズする機能がありません。 –

+3

JSONの検証もありません。 – Eric

+0

またはhttp://indicative.adonisjs.com/を試してください。ベンチマークではJOIよりも高速です –

1

ここには、より新しいbenchmarkのさまざまなJSONスキーマバリデーターがあります。

また、ベストプラクティスとして、JSON-schemaをチェックして、JSONオブジェクトの定義方法を定義する標準的な方法を試してみてください。

関連する問題