UNPKG

jsonform

Version:

Client-side JavaScript library that generates HTML forms from structured data models expressed using a JSON schema, possibly completed by a form layout description.

103 lines (102 loc) 1.85 kB
$("#testform").jsonForm({ "schema":{ "name":"Product", "properties": { "id": { "type":"number", "title":"Identifier", "description":"Enter a valid product identifier", "required":true }, "name": { "title":"Name of the product", "type":"string", "maxLength":20, "required":true }, "shortname": { "title":"short name", "type":"string", "required":true }, "price": { "type":"number", "minimum":10, "required":true }, "opts": { "type":"array", "title":"Options", "uniqueItems":true, "items":{ "type":"string", "enum":["one","two","three"] }, "default":["two","three"], "minItems":2 }, "gender":{ "type":"string", "enum":["male", "female"] }, "flag": { "type": "boolean" } } }, "value":{ "price": 42, "gender": "female" }, "form":[ { "type":"fieldset", "legend":"Test legend", "items":[ "id", { "key":"name", "type":"textarea", "value":"ok", "onBlur":function() { alert(); } } ] }, { "key":"shortname", "allowEmpty":true }, "gender", "price", "flag", { "key":"opts", "type":"checkboxes", "titleMap":{ "one":"1. One", "two":"2. Two", "three":"3. Three" } }, { "type":"actions", "items":[ { "type":"submit", "value":"OK" } ] } ], "onSubmit": function(errors,values) { console.log(errors,values); } });