gpt4 book ai didi

javascript - 如何使用 Joi 使用 Hapi.js 拆分字段值

转载 作者:行者123 更新时间:2023-11-30 10:01:55 24 4
gpt4 key购买 nike

我有一个用例,其中我有一个 API,它获取 12m8ft 的属性长度。

var schema = Joi.object({
length: Joi.string().required(),
});

我需要一种方法 Joi拆分它并返回一个结构类似于的对象:

{ length: 12, type : 'm'} OR { length 8, type : 'ft'}

最佳答案

Joi 不会为您做那件事。充其量它可以将字符串转换为数字。

一个选项是添加一个 pre 处理程序方法并在那里创建变形的有效负载并将其传递给路由处理程序。 pre 方法只会在所有验证都通过后运行。

它可能看起来像这样:

var createData = function (request, reply) {
var result = /(\d+)(.+)/.exec(request.payload.length);
var val = {
length: result[1],
type: result[2]
};
reply(val);
};

server.route({
method: 'POST',
path: '/',
config: {
validate: {
payload: {
length: Joi.string().required().valid('12m', '8f')
}
},
pre: [{ method: createData, assign: 'morph' }],
handler: function (request, reply) { reply(request.pre.morph); }
}
});

您也可以只让用户发布该数据对象,而不仅仅是一个字符串。这将使整个事情变得容易得多。

关于javascript - 如何使用 Joi 使用 Hapi.js 拆分字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31135989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com