Skip to content

Commit

Permalink
Documentation updates
Browse files Browse the repository at this point in the history
  • Loading branch information
newt10 committed Sep 10, 2021
1 parent 4b97721 commit 3931b19
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 7 deletions.
25 changes: 25 additions & 0 deletions docs/4.x upgrade guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 4.x Upgrade Guide

## Breaking changes

### JSON Schema draft-04

This version drops support for JSON schema draft04.
You can update your schema to the specs of draft07 using [ajv-cli](https://www.npmjs.com/package/ajv-cli).
We are making this change in accordance with ajv which is used to validate the JSON schema and the form data.

### Object property name restrictions

The following characters may cause unexpected behavior when used in property names:
- /
- '
- "
- [
- ]

If you are using any of these in your property names, you should change them or continue using 3.x until EOL. We are making this change in accordance with ajv which is used to validate the JSON schema and the form data.

## New

### Schema warnings
If your schema does not pass the strict types check, you will see a warnings printed to stderr/console. Your form will work as expected even with the warnings. You should aim to fix the schema to avoid the warnings as these schemas will not be accepted in the next major version.
2 changes: 1 addition & 1 deletion docs/api-reference/form-props.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Note that this just renders the `action` attribute in the HTML markup. There is

## additionalMetaSchemas

This prop allows you to validate the form data against another JSON Schema meta schema, for example, JSON Schema draft-04. See [Validation](../usage/validation.md) for more information.
This prop allows you to validate the form data against another JSON Schema meta schema, for example, JSON Schema draft-06. See [Validation](../usage/validation.md) for more information.

## ArrayFieldTemplate

Expand Down
12 changes: 6 additions & 6 deletions docs/usage/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ To have your schemas validated against any other meta schema than draft-07 (the

```json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"$schema": "http://json-schema.org/draft-06/schema#",
...
}
```
Expand All @@ -186,22 +186,22 @@ Note that react-jsonschema-form only supports the latest version of JSON Schema,

### additionalMetaSchemas

The `additionalMetaSchemas` prop allows you to validate the form data against one (or more than one) JSON Schema meta schema, for example, JSON Schema draft-04. You can import a meta schema as follows:
The `additionalMetaSchemas` prop allows you to validate the form data against one (or more than one) JSON Schema meta schema, for example, JSON Schema draft-06. You can import a meta schema as follows:

```jsx
const metaSchemaDraft04 = require("ajv/lib/refs/json-schema-draft-04.json");
const metaSchemaDraft06 = require("ajv/lib/refs/json-schema-draft-06.json");
```

In this example `schema` passed as props to `Form` component can be validated against draft-07 (default) and by draft-04 (added), depending on the value of `$schema` attribute.
In this example `schema` passed as props to `Form` component can be validated against draft-07 (default) and by draft-06 (added), depending on the value of `$schema` attribute.

```jsx
const schema = {
"$schema": "http://json-schema.org/draft-04/schema#",
"$schema": "http://json-schema.org/draft-06/schema#",
type: "string"
};

return (<Form schema={schema}
additionalMetaSchemas={[metaSchemaDraft04]} />);
additionalMetaSchemas={[metaSchemaDraft06]} />);
```

## customFormats
Expand Down

0 comments on commit 3931b19

Please sign in to comment.