Adaptateur sails-mongo, normalise les messages d'erreur

J'essaye sailsJs avec mongodb en utilisant l'adaptateur sails-mongo. Après avoir ajouté des validations à un modèle, je reçois la réponse suivante lorsque la validation échoue.

User.js Modèle:

module.exports = { schema: true, attributes: { name: { type: "string", unique: true }, email: { type: "email", unique: true }, password: { type: "string", required: true } } } 

Erreur de validation lors de l'utilisation de l'adaptateur sails-mongo:

 { "error": { "error": "E_UNKNOWN", "status": 500, "summary": "Encountered an unexpected error", "raw": { "name": "MongoError", "code": 11000, "err": "E11000 duplicate key error index: eReporterDB.users.$name_1 dup key: { : \"codin\" }" } } } 

Je reçois une meilleure réponse formatée si j'utilise la base de données de développement qui est la carte de voiles-disque.

Erreur de validation lors de l'utilisation de la carte sails-disk:

 { "error": { "error": "E_VALIDATION", "status": 400, "summary": "2 attributes are invalid", "invalidAttributes": { "name": [ { "value": "codin", "rule": "unique", "message": "A record with that `name` already exists (`codin`)." } ] } } } 

En tant que développeur, je m'attends à une réponse standardisée à partir d'un cadre. Est-ce que quelqu'un peut m'aider avec une manière gracieuse de gérer ces erreurs de validation. Je veux dire, je ne peux pas simplement montrer l'erreur "E11000 duplicate key error index: eReporterDB.users.$name_1 dup key: { : \"codin\" }" à un utilisateur layman.

Merci.

Sails.js vient de signaler l'erreur donnée par la base de données. C'est juste que les sails-disk ont des messages d'erreur plus agréables. L'adaptateur sails-mongo finit par vous donner l'erreur signalée directement par la base de données; Afin de les prétribuer, vous devriez simplement cartographier les erreurs brutes dans des messages plus conviviaux, tout comme tout autre pilote de base de données.