JSON Form

以 JSON 模式构建 HTML 表单
授权协议 MIT
开发语言 JavaScript HTML/CSS
所属分类 Web应用开发、 网页开发工具
软件类型 开源软件
地区 不详
投 递 者 燕志学
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

JSON Form 使用 JSON Schema 定义的结构化数据模型作为输入,并返回与该模式匹配的 Bootstrap 3 友好 HTML 表单。

生成的 HTML 表单包括客户端验证逻辑,该逻辑在表单提交时向用户提供直接的内联反馈(前提是 JSON 模式验证器可用)。如果值有效,则 JSON 表单库使用提交的值来创建与数据模型匹配的 JavaScript 数据结构。

生成的 HTML 表单的布局可以通过简单的声明机制进行微调。

快速入门

下面的示例创建了一个要求用户姓名和年龄的表单,用户名是必填字段,年龄可选。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Getting started with JSON Form</title>
    <link rel="stylesheet" style="text/css" href="deps/opt/bootstrap.css" />
  </head>
  <body>
    <h1>Getting started with JSON Form</h1>
    <form></form>
    <div id="res" class="alert"></div>
    <script type="text/javascript" src="deps/jquery.min.js"></script>
    <script type="text/javascript" src="deps/underscore.js"></script>
    <script type="text/javascript" src="deps/opt/jsv.js"></script>
    <script type="text/javascript" src="lib/jsonform.js"></script>
    <script type="text/javascript">
      $('form').jsonForm({
        schema: {
          name: {
            type: 'string',
            title: 'Name',
            required: true
          },
          age: {
            type: 'number',
            title: 'Age'
          }
        },
        onSubmit: function (errors, values) {
          if (errors) {
            $('#res').html('<p>I beg your pardon?</p>');
          }
          else {
            $('#res').html('<p>Hello ' + values.name + '.' +
              (values.age ? '<br/>You are ' + values.age + '.' : '') +
              '</p>');
          }
        }
      });
    </script>
  </body>
</html>

在浏览器中加载此页面,会呈现一个包含两个输入字段和一个提交按钮的表单,onSubmit函数在表单提交时调用。如果您在没有输入值的情况下按“提交”,或者如果您输入的年龄不是数字,则输入字段旁边会出现错误消息。

注意:此示例中的路径相对于 JSON 表单项目的根目录。

  • form格式是一种“键值对”的数据格式,比如: a=1&b=2&c=3 而json格式则类似这样: {"a":1,"b":2,"c":3} 如果传递的数据比较简单,那么两种方式基本上没什么大区别(当然后台接收数据的方式肯定是不同的),但是如果数据比较复杂,比如包含数组、对象等时,就只有json才能胜任了。 此外,如果数据是通过表单提交的,那么当然使用默认的form即可,因为它会自动构建数据结构,无

  • 参考自 jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解 个人实践整理。 方式一: 发送数据 <script type="application/javascript"> //发送表单ajax请求 $(':submit').on('click',function(){ $.ajax({ url

  • 对比 互为对方的优缺点 请求方式 Content-Type 优点 缺点 form multipart/form-data 支持传文件、易编写、Postman调试方便 不支持嵌套类型 json application/json 支持嵌套类型 编写麻烦 参考文献 为什么接口设计都不用普通 POST 如何设置APIFlask入参字段为嵌套字段 Java接口传参时用form data好还是用json好?

  • package main import ( "bufio" "fmt" "strings" ) func AddJsonFormGormTag(in string) string { var result string scanner := bufio.NewScanner(strings.NewReader(in)) var oldLineTmp = "" var lineTm

  • 表单格式:  头: 数据类型:Content-Type:application/x-www-form-urlencoded(数据格式);charset=UTF-8(编码格式) 身份令牌:Authentication-Token:123456(不需要可不写) 内容: a=1&b=2&c=3(表单格式用&分隔) json格式: 头: 数据类型:Content-Type:application/json

  • Qt http客户端的实现 主要是post数据的打包和http的头设置 1.form-data表单方式 //1.打包form-data表单数据 QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart textPart; //format t

  • 之前取不到值,报系统错误,后来问了同事,说数据传输的格式不对。因为之前是匹配easyui,很多格式都要求formdata。 最开始解决时创建了一个formdata对象,但是formdata对象取值要get()一下,不方便在标签里拿到值再进行操作。 然后就刚开始试了下吧请求头里的content-type换成multipart/form-data,但是这样要传的是json的时候就不行了。 然后就找了下

  • form表单是“键值对”的数据格式,例如: a=1&b=2&c=3 而json格式则与之不同,如下: {"a":1,"b":2,"c":3} 传递的数据比较简单,那么两种方式基本上没什么大区别(当然后台接收数据的方式肯定是不同的),但是如果数据比较复杂,比如包含数组、对象等时,就只有json才能胜任了。此外,如果数据是通过表单提交的,那么当然使用默认的form即可,因为它会自动构建数据结构,无需

  • 最近工作上,需要对网关进行一下改造。之前网关只支持form表单的提交请求。这里我将如何将只支持form表单请求的网关改造成支持application/json请求,毕竟application/json这种请求使用的很多。 form表单请求,在servlet中使用request.getParameter()获取参数。但是默认通过application/json请求提交,使用这种方式是获取不到参数。只

  • 一、JSON格式 传json格式的字符串一般我们直接用(“2021-08-30 00:00:00”)的形式,如果2021-08-30传不过来,试试把后面的几个零都带上,我之前试过不带后面的几个零,后台一直都转不了 二、form-data格式 一般form-data格式,我都是用来文件上传加上对象上传一起才使用的,一开始我以为两个的时间格式都是字符串的方式传到后台,当然我也像传JSON那样把时间后面

 相关资料
  • 问题内容: 我正在尝试编写一个正则表达式模式,该模式将匹配以多个或一个制表符和/或空格开头的任何句子。例如,我希望我的正则表达式模式能够匹配“你好,我喜欢正则表达式!” 但是我想弄清楚如何在“ hello”之后匹配单词。到目前为止,我有这个: 任何帮助,将不胜感激。谢谢。 问题答案: 手段“开头” 装置空白 的装置1种或多个 装置的任何字母,,,,,或空白字符 的意思是“与端”

  • 有没有办法将数据帧模式序列化为json并在以后反序列化? 用例很简单:我有一个json配置文件,其中包含我需要读取的数据帧的模式。我希望能够从现有模式(在数据帧中)创建默认配置,并希望能够通过从json字符串读取来生成稍后使用的相关模式。

  • 我需要在没有静态嵌套类的情况下实现Builder模式。如果我有遗传,最好的方法是什么?让我们想象一下我有下面的课。 是创建一个Builder类来负责设置PassengerCar和Truck的值更好,还是我们需要另外三个类,CarBuilder,PassengerCarBuilder extends CarBuilder和TruckBuilder extends CarBuilder?

  • 静态资源标签 以下方式引用的静态资源会被构建: img、video、audio、embed 和 source 标签的 src 属性 link 标签的 href 属性 object 标签的 data 属性 source 标签的 srcset 属性 不必构建的标签,添加coolieignore属性即可,如: <img src="./demo1.png"> <img src="./demo1.png"

  • 问题内容: 我试图从存储在表中的数据创建HTML表。我的数据是从表中读取并转换为列表的字典,例如: 我的目标是为任意列表长度创建具有以下结构的HTML表: 我尝试在Flask模板中执行以下两种不正确的方法: 它将整个列表打印到每一列中。 和: 它将所有内容简单地打印到第一列中。 这些实验和许多其他死胡同使我相信,没有什么简单的方法可以构建表,就像我想要的当前数据结构一样。 鉴于此,我有两个问题:

  • 问题内容: 我试图从postgres映像创建一个Dockerfile。该仓库说应该通过在/docker-entrypoint- initdb.d/中放置一个shell脚本来处理初始化。我根据在网上找到的示例放置了以下脚本: 反斜杠似乎是必需的,因为否则会出现解析错误。该脚本运行无误,除CREATE TABLE命令外的所有命令似乎都起作用。 单用户模式不支持表创建吗?如果是这样,是否有更好的方法让d

  • 我需要为简单的语法表达式创建模式,其中: 1)所需的属性“varname”不存在 2)属性“expression”的值必须完全符合以下架构之一:{“type”:“object”、“properties”:{“varname”:{“type”:“string”}}、“required”:[“varname”]}、{“type”:“object”、“properties”:{“function”:{“

  • 我将JSON文件&JSON模式解析为AVRO模式。我有点困惑,我是否必须使用AVRO文档中定义的数据类型来编写手动AVRO模式。 或者是否有任何自动化的方法/函数/程序可以完全按照要求工作?