我有一些数据是用户选择2个复选框并提交表单后得到的。用户可以选择10个不同的选项,然后将他们确实选择的两个选项连接成一个字符串,并使用|
字符分隔,然后将其推送到一个JSON模式文件中,该文件用于验证输入。
更明确地说,如果我们具有以下复选框:
[] Option A
[x] Option B
[] Option C
[x] Option D
... etc
我们可以看到,选项B和选项D被选中。因此,将推送通过验证的字符串为:
"Option B|Option D"
这就是为什么验证困难的原因。如果是单个值,则可以通过使用JSON模式提供的enum
关键字轻松地验证该值。例如,可以使用以下架构:
"answer": {
"enum": [
"Option A",
"Option B",
"Option C",
"Option D"
]
}
但是,由于传入值将不是这些值中的任何一个,并且实际上将是两个值与分隔符的串联,因此该方法将不起作用,因为该值将永远不会通过验证。
有什么方法可以调整此架构或使用JSON架构的其他功能,以便字符串"Option B|Option D"
和任何其他组合通过验证?