2017-06-25 2 views
2

NodeJSアプリケーションでオブジェクトを検証する必要があります。私はすでに最高のライブラリexpress-validatorを使用していますが、これは完全に動作しますが、今は別のオブジェクトを検証する必要があります。また、バリデーションバリデーターがライブラリvalidatorを利用する限り、ストリング型以外のタイプはサポートしていません。jsonオブジェクト用のNodeJS検証ライブラリ

私は、彼らは優れた機能を提供していますが、私は、エラーメッセージだけ例外をキャッチしたり、戻りオブジェクトからそれを解析よりを設定できるようにする必要があり、Ajv

Jsonschemaのようなさまざまな変種を発見しました。 その

var schema = { 
    "id": "/SimplePerson", 
    "type": "object", 
    "properties": { 
     "name": {"type": "string", "error": "A name should be provided"}, 
     "address": {"$ref": "/SimpleAddress"}, 
     "votes": {"type": "integer", "minimum": 1} 
    } 
    }; 

ようなので、私はすべてのプロパティのエラーメッセージを設定することができます。

この機能を実現する既存のソリューションはありますか?

可能な解決策は、

私は偉大なライブラリこれは、必要な機能を提供しJSENを発見しました。

答えて

1

一つの解決策は、攘夷ライブラリを使用することです: https://github.com/hapijs/joi

このライブラリがよく、維持に使用され、柔軟性と可能なアクションの多くを提供しています。

Exemple:

const Joi = require('joi'); 

const schema = Joi.object().keys({ 
    name: Joi.string()..error(new Error('A name should be provided')), 
    address: Joi.ref('$SimpleAddress'), 
    votes: Joi.number().min(1), 
}); 

// Return result. 
const result = Joi.validate(yourObject, schema);