2017-06-25 5 views
2

Ich muss ein Objekt in meiner NodeJS-App überprüfen. Ich habe bereits eine geniale Bibliothek verwendet express-validator, es funktioniert perfekt, aber jetzt muss ich verschiedene Objekt validieren, nicht nur Anfragen und soweit Express-Validator hebelt validator Bibliothek, die wiederum andere Typen als den String-Typ nicht unterstützt.NodeJS-Validierungsbibliothek für JSON-Objekte

Ich habe verschiedene Varianten wie Jsonschema gefunden, Ajv

Sie großartige Funktionen bieten, aber ich muß in der Lage sein, Fehlermeldung zu setzen und als nur eine Ausnahme fangen oder es von der Rückgabe Objekt zu analysieren. Wie die

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

So kann ich eine Fehlermeldung für jede Eigenschaft festgelegt.

Gibt es eine vorhandene Lösung, um diese Funktionalität zu erreichen?

MÖGLICHE LÖSUNG

Ich habe eine große Bibliothek gefunden JSEN Es notwendigen Funktionen zur Verfügung stellt.

Antwort

1

Eine Lösung ist Joi Bibliothek zu verwenden: https://github.com/hapijs/joi

Diese Bibliothek ist gut gepflegt, verwendet und eine Menge Flexibilität und mögliche Aktionen bieten.

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); 
Verwandte Themen