JSON Form以 JSON 模式構(gòu)建 HTML 表單
JSON Form 使用 JSON Schema 定義的結(jié)構(gòu)化數(shù)據(jù)模型作為輸入,并返回與該模式匹配的 Bootstrap 3 友好 HTML 表單。
生成的 HTML 表單包括客戶端驗證邏輯,該邏輯在表單提交時向用戶提供直接的內(nèi)聯(lián)反饋(前提是 JSON 模式驗證器可用)。如果值有效,則 JSON 表單庫使用提交的值來創(chuàng)建與數(shù)據(jù)模型匹配的 JavaScript 數(shù)據(jù)結(jié)構(gòu)。
生成的 HTML 表單的布局可以通過簡單的聲明機制進行微調(diào)。
快速入門
下面的示例創(chuàng)建了一個要求用戶姓名和年齡的表單,用戶名是必填字段,年齡可選。
<!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>
在瀏覽器中加載此頁面,會呈現(xiàn)一個包含兩個輸入字段和一個提交按鈕的表單,onSubmit函數(shù)在表單提交時調(diào)用。如果您在沒有輸入值的情況下按“提交”,或者如果您輸入的年齡不是數(shù)字,則輸入字段旁邊會出現(xiàn)錯誤消息。
注意:此示例中的路徑相對于 JSON 表單項目的根目錄。
評論
圖片
表情
