5.18.3 • Published 12 days ago

@rjsf/validator-ajv8 v5.18.3

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
12 days ago

Build Status npm npm downloads Contributors Apache 2.0 License

Table of Contents

About The Project

Exports validator-ajv8 plugin for react-jsonschema-form.

Built With

Getting Started

Prerequisites

React JsonSchema Form Utils

  • @rjsf/utils >= 5.0.0
yarn add @rjsf/core

Installation

yarn add @rjsf/validator-ajv8

Usage

import { RJSFSchema } from 'packages/utils/dist/index';
import Form from 'packages/core/dist/index';
import validator from '@rjsf/validator-ajv8';

const schema: RJSFSchema = {
  type: 'string',
};

<Form schema={schema} validator={validator} />;

or, using a more complex example using custom validator with custom formats

import { RJSFSchema } from '@rjsf/utils';
import Form from '@rjsf/core';
import { customizeValidator } from '@rjsf/validator-ajv8';

const customFormats = {
  'phone-us': /\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$/,
};

const validator = customizeValidator({
  customFormats,
});

const schema: RJSFSchema = {
  type: 'string',
  format: 'phone-us',
};

<Form schema={schema} validator={validator} />;

or, using a more complex example using a custom with additional meta schema

import { RJSFSchema } from '@rjsf/utils';
import Form from '@rjsf/core';
import { customizeValidator } from '@rjsf/validator-ajv8';

const metaSchemaDraft06 = require('ajv/lib/refs/json-schema-draft-06.json');

const validator = customizeValidator({
  additionalMetaSchemas: [metaSchemaDraft06],
});

const schema: RJSFSchema = {
  $schema: 'http://json-schema.org/draft-06/schema#',
  type: 'string',
};

<Form schema={schema} validator={validator} />;

or, using a more complex example using custom validator config override options

import { RJSFSchema } from '@rjsf/utils';
import Form from '@rjsf/core';
import { customizeValidator } from '@rjsf/validator-ajv8';

const validator = customizeValidator({
  ajvOptionsOverrides: {
    $data: true,
    verbose: true,
  },
});

const schema: RJSFSchema = {
  type: 'string',
};

<Form schema={schema} validator={validator} />;

or, using a more complex example using ajv-formats custom format options.

import { RJSFSchema } from '@rjsf/utils';
import Form from '@rjsf/core';
import { customizeValidator } from '@rjsf/validator-ajv8';

const validator = customizeValidator({
  ajvFormatOptions: {
    keywords: true,
    formats: ['date', 'time'],
  },
});

const schema: RJSFSchema = {
  type: 'string',
};

<Form schema={schema} validator={validator} />;

Finally, you can combine both additional meta schemas, custom formats, custom validator config override options and ajv-formats custom format options.

import { RJSFSchema } from '@rjsf/utils';
import Form from '@rjsf/core';
import { customizeValidator } from '@rjsf/validator-ajv8';

const metaSchemaDraft06 = require('ajv/lib/refs/json-schema-draft-06.json');

const customFormats = {
  'phone-us': /\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$/,
};

const validator = customizeValidator({
  additionalMetaSchemas: [metaSchemaDraft06],
  customFormats,
  ajvOptionsOverrides: {
    $data: true,
    verbose: true,
  },
  ajvFormatOptions: {
    keywords: true,
    formats: ['date', 'time'],
  },
});

const schema: RJSFSchema = {
  $schema: 'http://json-schema.org/draft-06/schema#',
  type: 'string',
  format: 'phone-us',
};

<Form schema={schema} validator={validator} />;

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Read our contributors' guide to get started.

Contact

rjsf team: https://github.com/orgs/rjsf-team/people

GitHub repository: https://github.com/rjsf-team/react-jsonschema-form

@gridql/server-configurator@flyteorg/console@cerebruminc/cerebellum@knapsack/toby@everything-registry/sub-chunk-784@edgebrix-sdk/react@dweber019/backstage-plugin-accentuate@janus-idp/backstage-plugin-orchestrator@exabyte-io/cove.js@jupyter-lsp/jupyterlab-lsp@jupyterlab/metadataform@jupyterlab/settingeditor@jupyterlab/codemirror-extension@kelvininc/react-ui-components@definitive-io/openassistants-react@metamask/open-rpc-docs-react@egovernments/digit-ui-module-workbench@egovernments/digit-ui-module-hcmworkbenchchatbot-ui-react-test@marek.libra/backstage-plugin-orchestrator@parodos/plugin-parodos@parodos/plugin-parodos-auth@rjsf/snapshot-tests@premieroctet/next-admin@pitrix/portal-formly@newageerp/v4.crm.config@newageerp/v3.templates.templates-builder@massdriver/rjsf-validator@openchatai/cmdk@openchatai/copilot-widget@openchatai/widget@terminusdb/tdb-react-test-npm@terminusdb/terminusdb-documents-ui@terminusdb/terminusdb-react-documents-ui@socotra/ec-react@novu/studio@shipengine/elementseidolon-webuiloginbhanummw-v2-coreilla-buildernpm-test-bhanuopenapi-for-humans-reactopenassistants-ui-testingsynapse-react-clientsrstesrste-component-coresrste-component-libsrste-component-lib2srste-componentsstencil-library-by-leostencil-rjsf-trialsmhost-template-formsreact-user-configreact-formulereact-liteflowresourcehubrjs-forms-wrapperzeroant@pubcore/vite-storybook-mui@squiz/component-editing-uidev-example@yepcode/react-formsdocusaurus-open-rpc-docs-react@zalastax/nolb-_rj@allthings/structured-ticket-form@veecode-platform/plugin-scaffolder@alvilio/a-shop-props-palette@vrabbi/plugin-scaffolder@vrabbi/plugin-scaffolder-react@zonxpk/generic-form@batzionrotman123/orchestrator@batzionrotman123/backstage-plugin-orchestrator@backstage/plugin-scaffolder-react@chaibuilder/sdk@definitive-io/openassistants-ui@backstage/plugin-home@backstage/plugin-scaffolder@ballerine/ui@castore/lib-react-visualizer@castore/react-visualizer@caponetto-tests/backstage-plugin-orchestrator@balena/ui-shared-components@deep-foundation/deepcase@dreamcatcher-tech/dreamcatcher@digit-ui/digit-ui-module-workbench-mfe@concord-consortium/question-interactives-helpers@dslab/ra-jsonschema-input@dreamcatcher-tech/webdos@datalayer/primer-rjsf@datalayer/rjsf-primer@frontside/backstage-plugin-scaffolder-workflow
5.18.3

12 days ago

5.18.2

28 days ago

5.18.1

2 months ago

5.18.0

2 months ago

5.17.1

3 months ago

5.17.0

3 months ago

5.16.1

4 months ago

5.16.0

4 months ago

5.15.1

5 months ago

5.15.0

5 months ago

5.13.2

7 months ago

5.13.1

7 months ago

5.13.0

8 months ago

5.11.2

9 months ago

5.11.1

9 months ago

5.14.3

5 months ago

5.14.2

6 months ago

5.14.1

6 months ago

5.12.1

9 months ago

5.12.0

9 months ago

5.10.0

10 months ago

5.13.6

6 months ago

5.13.5

6 months ago

5.13.4

6 months ago

5.13.3

6 months ago

5.9.0

10 months ago

5.8.2

11 months ago

5.7.3

12 months ago

5.8.1

11 months ago

5.7.2

12 months ago

5.8.0

11 months ago

5.7.1

12 months ago

5.7.0

12 months ago

5.6.0

1 year ago

5.5.1

1 year ago

5.5.0

1 year ago

5.4.0

1 year ago

5.3.1

1 year ago

5.3.0

1 year ago

5.2.1

1 year ago

5.2.0

1 year ago

5.6.2

1 year ago

5.5.2

1 year ago

5.0.2

1 year ago

5.1.0

1 year ago

5.0.1

1 year ago

5.0.0

1 year ago

5.0.0-beta.20

1 year ago

5.0.0-beta.15

1 year ago

5.0.0-beta.16

1 year ago

5.0.0-beta.14

1 year ago

5.0.0-beta.19

1 year ago

5.0.0-beta.17

1 year ago

5.0.0-beta.18

1 year ago

5.0.0-beta.11

2 years ago

5.0.0-beta.12

2 years ago

5.0.0-beta.13

1 year ago

5.0.0-beta.10

2 years ago

5.0.0-beta.9

2 years ago

5.0.0-beta.8

2 years ago

5.0.0-beta.6

2 years ago

5.0.0-beta.5

2 years ago