如何在 json 中为电子邮件留空

how to give empty for email in json

我需要为电子邮件构建 json 架构,它将接受空格式或电子邮件格式。

我使用如下

 "emailID": {
                    "type": "string", 
                    "required": false,
                    "format": "(^$)|email"
                  }

但它不验证电子邮件 ID 的格式是否正确。 即使电子邮件只是 A 或 * 它也在接受。 但是,如果我删除 (^$) 格式,它会完美地验证 如何把两个条件

首先:这是 v3 架构草案;由于您的 required.

,它对当前草稿无效

那么,你的要求很奇怪:要么你说对象成员不是必需的,要么如果它存在它可以是一个空字符串或一个有效的电子邮件?哪里出了问题。

并不是说这是不可行的;它是:

"emailID": {
    "type": "string",
    "oneOf": [
        { "enum": [ "" ] },
        { "format": "email" }
    ]
}

但是考虑到您的 "sloppy" 一组限制,我认为某处有问题。