gpt4 book ai didi

node.js - hapijs joi 电子邮件验证选项 tldWhitelist 用法

转载 作者:太空宇宙 更新时间:2023-11-03 23:06:35 25 4
gpt4 key购买 nike

我正在尝试使用 Joi 和 Hapijs 来验证 POST 提交请求。

这是我的招摇代码:

  server.route([
{
method: "POST",
path: '/cardsignup',
config: {
handler: card_signup,
description: 'Insert card signup record',
notes: 'save card signup to database',
tags: ['card', 'signup', 'api'],
plugins: {
'hapi-swagger': {
responseMessages: [
{code: 200, message: 'Success'},
{code: 400, message: 'Bad Request'},
{code: 401, message: 'Not Authorized'},
{code: 500, message: 'Internal Server Error'}
]
}
},
validate: {
payload: {
name: Joi.string()
.required()
.description('full name'),
email: Joi.string().email({
tldWhitelist:['example.com']
})
.required()
.description('email'),
signature_svg: Joi.string()
.optional()
.description('string encoded svg'),
signature_png: Joi.binary()
.optional()
.description('base64 encoded png'),
card_choice: Joi.string()
.required()
.description('card choice string'),
last4: Joi.number()
.required()
.description('last 4 digits of cc')
}
}
}
}
]);

当我向服务器发送 POST 时,无论我输入什么电子邮件,我都会收到此消息:

{
"statusCode": 400,
"error": "Bad Request",
"message": "child \"email\" fails because [\"email\" must be a valid email]",
"validation": {
"source": "payload",
"keys": [
"email"
]
}
}

有人有如何使用 tldWhitelist 的示例吗?

具体来说,我想验证电子邮件是否来自 example.com

最佳答案

tldWhitelist 的值可以是对象查找表或有效顶级域的数组。例如:

tldWhitelist: ['com']

关于node.js - hapijs joi 电子邮件验证选项 tldWhitelist 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33510024/

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