首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不适用于类型= number和pattern = 10位规则模式的json模式

不适用于类型= number和pattern = 10位规则模式的json模式
EN

Stack Overflow用户
提问于 2020-08-01 16:44:09
回答 1查看 2.2K关注 0票数 0

我正在尝试编写一个用于电话号码的jsonschema,它是一个数字,应该等于10位数。为此,我编写了一个json模式,如下所示

代码语言:javascript
复制
{"title":"Schema","description":"Schema","type":"object","properties":{"phone_number":{"type":"number","pattern":"^[0-9]{10}$"}}}.

我的请求是{"phone_number":123481}

理想情况下,我的json模式应该抛出一个异常,告诉我phone_number不是10位数,但是没有抛出错误。有人能告诉我这段代码有什么问题吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-01 16:57:00

JSON模式验证规范草案在“String的验证关键字”下面列出了pattern。因此,如果要验证电话号码,则必须将其记录为strings,而不是numbers。

换句话说,您的模式应该是

代码语言:javascript
复制
{"title":"Schema","description":"Schema","type":"object","properties":{"phone_number":{"type":"string","pattern":"^[0-9]{10}$"}}}.

您的请求JSON必须是{"phone_number":"123481"}

在某些地方(特别是在英国),电话号码可以以零开头,但number类型不能存储前导零。此外,例如,1230123作为电话号码可能存在差异,如果使用number类型,您将无法区分这两种类型之间的区别。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63207660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档