我有一个带messages service的feathersjs。我想用feathers-hooks-validate-joi模块验证消息模型。
这是我的messages-hooks.js文件:
const validate = require('feathers-hooks-validate-joi');
const schema = require('./messages.validator');
module.exports = {
before: {
create: [validate.form(schema)],
//others method fields
},
after: {...},
error: {...}
};这是我的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};当我尝试通过curl发布消息时:
curl 'http://localhost:3030/messages/' -H 'Content-Type: application/json' --data-binary '{ "name": "Hello", "text": "World" }'
我收到此错误消息:
{
"name": "BadRequest",
"message": "Invalid data",
"code": 400,
"className": "bad-request",
"data": {},
"errors": {
"name": "\"name\" is not allowed",
"text": "\"text\" is not allowed"
}
}我是不是遗漏了什么?我使用羽毛钩正确吗?
发布于 2017-08-25 17:57:36
module.exports = {schema};这应该是:
module.exports = schema;不是吗?
或者,您的require语句应该改为:
const {schema } = require('./messages.validator');https://stackoverflow.com/questions/45878534
复制相似问题