Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to validate a form using JSON Schema?
    text
    copied!<p>I want to validate the input from an HTML form using a JSON Schema describing it. I'm using Gary Court's JSV to validate it and it returns an error consistently. I used JSON Schema Lint (jsonschemalint.com) to check my schema. In Chrome Schema Lint tells me my schema is valid, but in Firefox, Safari &amp; Opera the website tells me that my schema is valid JSON but not valid JSON schema. Can anyone help me out. My schema is below.</p> <p><strong>UPDATE 8/6/13</strong> Thank you for all your replies. My updated JSON (updated below) is now validating in all browsers. However I am still getting the following error from JSV:</p> <pre><code>Report {errors: Array[1], validated: Object, instance: JSONInstance, schema: JSONSchema, schemaSchema: JSONSchema…} errors: Array[1] 0: Object attribute: "type" details: Array[1] 0: "object" length: 1 __proto__: Array[0] message: "Instance is not a required type" schemaUri: "http://json-schema.org/draft-03/hyper-schema#" uri: "urn:uuid:808fe74b-b0d0-4774-8975-289f105dfeaa#" __proto__: Object length: 1 __proto__: Array[0] instance: JSONInstance schema: JSONSchema schemaSchema: JSONSchema validated: Object __proto__: Report </code></pre> <p>Let me first say that I may be interpreting the error message incorrectly. However I'm fairly certain this is referring to the <code>"type": "object"</code> line directly after the opening curly bracket. However the <code>"type": "object"</code> key:value is part of the Draft 03 spec at <a href="http://tools.ietf.org/html/draft-zyp-json-schema-03" rel="nofollow">http://tools.ietf.org/html/draft-zyp-json-schema-03</a>. This is confusing because JSON Schema Lint uses the JSV library as well... Thanks for all your help so far.</p> <pre><code>{ "type": "object", "$schema": "http://json-schema.org/draft-03/schema#", "title": "FormValidation", "description": "Describes the types of and valid inputs to a form generated via Form Creator", "properties": { "Air Temperature (C)": { "type": "number", "description": "Air Temperature measurement in centigrade.", "required": false }, "Ammonia": { "type": "number", "description": "Ammonia measurement at test site.", "required": false }, "Aquatic Life Present": { "type": "string", "description": "Are organisms such as fish or frogs living near the test site?", "required": false }, "Chlorophyll a": { "type": "number", "description": "Chlorophyll a measurement at test site.", "required": false }, "Conductivity": { "type": "number", "description": "Water conductivity measurement at test site.", "required": false }, "Date of Test": { "type": "string", "description": "Date the measurements were recorded.", "required": true }, "Dissolved Oxygen 1": { "type": "number", "description": "Disolved oxygen reading at first depth.", "required": false }, "Dissolved Oxygen 2": { "type": "number", "description": "Dissolved oxygen reading at second depth.", "required": false }, "Latitude": { "type": "number", "description": "Latitude of the measurement site in degrees.", "required": true }, "Longitude": { "type": "number", "description": "Longitude of the measurement site in degrees.", "required": true }, "Nitrates": { "type": "number", "description": "Nitrate measurement at test site.", "required": false }, "Orthophosphates": { "type": "number", "description": "Orthophosphate measurement at site of testing.", "required": false }, "Phosphates": { "type": "number", "description": "Phosphate reading at measurement site.", "required": false }, "Secchi Disk": { "type": "number", "description": "Secchi Disk depth reading at measurement site.", "required": false }, "Site Change": { "type": "string", "description": "Has the site undergone noticeable physical change since the last measuring event?", "required": false }, "Test Site": { "type": "string", "description": "Location where the measurements were recorded.", "required": true }, "Turbidity (ntu)": { "type": "number", "description": "Cloudiness or haziness of water, measured in Nephelometric Turbidity Units (NTU).", "required": false }, "Water Color or Odor": { "type": "string", "description": "Does the water have an strange colorations or emit a noticeable odor?", "required": false }, "Water Temperature (C)": { "type": "number", "description": "Water Temperature measurement in centigrade.", "required": false }, "pH": { "type": "number", "description": "pH measurement at test site.", "required": false } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload