我想基于现有的JSON Schema生成HTML表单。我想知道是否有field type
密钥在property
上标准化,以便当我遍历模式时,我可以确定要呈现的字段类型。
我所拥有的当前解决方案如果它是"type": "string"
,则会感觉非常毛茸茸,因为在某些情况下,架构将URL存储为字符串,对于表单而言,这意味着输入type='file'
。所以我认为我需要某种元属性但不想不必要地污染模式。
之前有没有人遇到这样的问题,这个问题是否有任何标准属性?
答案 0 :(得分:2)
JSON架构不提供规范中HTML表单的映射,您可以将type
和format
结合起来以涵盖某些情况。例如
{"type": "string", "format": "uri"}
可用于验证网址。
然而,JSON Schema是可扩展的,并且一些实现提供了超出规范的功能。您可以检查一个非常好的HTML表单映射实现:https://github.com/mozilla-services/react-jsonschema-form。
您可以使用<input type="file" />
指定"format": "data-url"
,{{1}}不是JSON架构规范的一部分,而是实现提供的自定义扩展。
演示:https://mozilla-services.github.io/react-jsonschema-form/