0

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

我使用如下

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

但它不能验证电子邮件 ID 的格式是否正确。即使电子邮件只是 A 或 *,它也可以接受。但是,如果我以格式删除 (^$) ,则可以完美地验证如何同时放置这两个条件

4

1 回答 1

1

首先:这是一个草稿 v3 模式;由于您的required.

然后,您的要求很奇怪:您说对象成员不是必需的,或者如果它存在,它可以是空字符串或有效的电子邮件?某处出了点问题。

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

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

但是鉴于您的“草率”限制,我认为某处出了点问题。

于 2015-01-09T21:36:25.477 回答