J'ai une API feathersjs avec un messages service
. Je veux valider le modèle de message avec le module feathers-hooks-validate-joi
.Joi validation feathersjs
Voici mon messages-hooks.js
fichier:
const validate = require('feathers-hooks-validate-joi');
const schema = require('./messages.validator');
module.exports = {
before: {
create: [validate.form(schema)],
//others method fields
},
after: {...},
error: {...}
};
Voici mon fichier messages.validator.js
:
const Joi = require('joi');
const schema = Joi.object().keys({
name: Joi.string().trim().min(2).required(),
text: Joi.string().trim().min(2).required()
});
module.exports = {schema};
Lorsque je tente d'envoyer un message par boucle:
curl 'http://localhost:3030/messages/' -H 'Content-Type: application/json' --data-binary '{ "name": "Hello", "text": "World" }'
I recevez ce message d'erreur:
{
"name": "BadRequest",
"message": "Invalid data",
"code": 400,
"className": "bad-request",
"data": {},
"errors": {
"name": "\"name\" is not allowed",
"text": "\"text\" is not allowed"
}
}
Ai-je raté quelque chose? Est-ce que j'utilise le crochet de plumes correctement?
Quand j'essaie votre solution, je reçu ce message d'erreur: '{ "name": "GÉNÉRALError", "message": « Impossible de lire propriété 'convertir' de indéfini ", " code ": 500, " className ":" erreur générale ", " données ": {}, " erreurs ": {} }' –