json - 如何使用 JSON Schema 验证来自复选框数组的管道分隔字符串输入
问题描述
我有一些数据是用户选择 2 个复选框并提交表单的结果。用户可以选择 10 种不同的选项,他们选择的两个被连接成一个字符串并使用|
字符分隔,然后将它们推送到一个 JSON 模式文件,该文件用于验证输入。
所以更清楚地说,如果我们有以下复选框:
[] Option A
[x] Option B
[] Option C
[x] Option D
... etc
我们可以看到,选项 B 和选项 D 被选中。因此,将被推送以进行验证的字符串将是:
"Option B|Option D"
这就是验证困难的原因。如果它是单个值,则可以通过使用enum
JSON 模式提供的关键字轻松验证该值。例如,可以使用以下模式:
"answer": {
"enum": [
"Option A",
"Option B",
"Option C",
"Option D"
]
}
但是,由于传入的值不会是这些值中的任何一个,并且实际上是两个带有分隔符的值的串联,因此这种方法将不起作用,因为该值永远不会通过验证。
有什么方法可以调整此架构或使用 JSON 架构的其他功能,以便字符串"Option B|Option D"
和任何其他组合通过验证?
解决方案
推荐阅读
- javascript - 如何设置formArray的初始值?
- css - Vue 样式共享组件
- python - 如何计算 Python 数据框中字符串的出现次数?
- java - 在Java中使用for循环比较数组时修改静态方法以添加两个计数器
- sql - 如何解决“此子查询最多可以返回一条记录”
- python - 从 Azure 函数获取托管标识访问令牌时出错
- javascript - Javascript 根据条件创建新数组
- java - 如何将 Java 记录用作 ModelMapper 的 DTO?
- javascript - 如何在vue js内联单击@click事件上进行乘法运算
- vb.net - visual studio 2019 我怎么知道要导入的引用和路径设置