5.22.3 • Published 8 months ago

@rjsf/validator-ajv8 v5.22.3

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
8 months 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@knapsack/toby@everything-registry/sub-chunk-784synapse-react-client@allthings/structured-ticket-form@dreamcatcher-tech/dreamcatcher@dreamcatcher-tech/webdos@dslab/ra-jsonschema-input@codegouvfr/rjsf-dsfr@ctnetworks/typeform-rjsf@concord-consortium/question-interactives-helpers@definitive-io/openassistants-react@definitive-io/openassistants-ui@premieroctet/next-adminisp-admin-ui-kitkyb-appsrste-component-libsrste-component-lib2srste-componentssrstesrste-component-corestencil-library-by-leostencil-rjsf-trial@ahalabs/open-rpc-docs-react@backstage/plugin-home@backstage/plugin-scaffolder@backstage/plugin-scaffolder-react@balena/autoui@balena/ui-shared-components@ballerine/ui@batzionrotman123/backstage-plugin-orchestrator@batzionrotman123/orchestrator@alvilio/a-shop-props-palette@castore/lib-react-visualizer@castore/react-visualizer@caponetto-tests/backstage-plugin-orchestrator@classon/form-builder@chaibuilder/sdk@jupyter-lsp/jupyterlab-lsp@deep-foundation/perception-imports@deep-foundation/deepcase@datalayer/primer-rjsf@datalayer/rjsf-primer@digit-ui/digit-ui-module-workbench-mfezeroant@dweber019/backstage-plugin-accentuate@egovernments/digit-ui-module-campaign-manager@egovernments/digit-ui-module-hcmmicroplanning@egovernments/digit-ui-module-hcmworkbench@egovernments/digit-ui-module-workbench@frontside/backstage-plugin-scaffolder-workflow@massdriver/rjsf-validator@marek.libra/backstage-plugin-orchestrator@newageerp/v3.templates.templates-builder@newageerp/v4.crm.config@epilogo/readmin@exabyte-io/cove.js@edgebrix-sdk/react@midasit-dev/schemaforms@metamask/open-rpc-docs-react@kelvininc/react-ui-components@janus-idp/backstage-plugin-orchestrator-form-react@janus-idp/backstage-plugin-rbac@khannanov-nil/nil-open-rpc-docs-react@jupyterlab/codemirror-extension@jupyterlab/settingeditor@jupyterlab/metadataform@pubcore/vite-storybook-mui@rjsf/snapshot-tests@openchatai/copilot-widget@openchatai/cmdk@novu/studio@pitrix/portal-formly@parodos/plugin-parodos@parodos/plugin-parodos-authmtxlibmtxuilibmy-rjsf4my-rjsf5my-rjsf6my-rjsf7my-rjsf8my-rjsf9mmw-v2-coreopenapi-for-humans-reactopenassistants-ui-testingnpm-test-bhanureact-liteflowreact-formulescankartaischema-saazservlygroupreact-openapi-formnew-dynamic-dashboardpod-widgetresourcehubrjsf-tablerjs-forms-wrappersmhost-template-forms
5.22.3

8 months ago

5.22.2

8 months ago

5.22.1

9 months ago

5.22.0

9 months ago

5.21.2

9 months ago

5.21.1

10 months ago

5.21.0

10 months ago

6.0.0-alpha.0

11 months ago

5.18.6

1 year ago

5.18.5

1 year ago

5.19.4

11 months ago

5.19.3

12 months ago

5.19.2

12 months ago

5.19.1

12 months ago

5.19.0

1 year ago

5.20.1

10 months ago

5.20.0

11 months ago

5.18.4

1 year ago

5.18.3

1 year ago

5.18.2

1 year ago

5.18.1

1 year ago

5.18.0

1 year ago

5.17.1

1 year ago

5.17.0

1 year ago

5.16.1

1 year ago

5.16.0

1 year ago

5.15.1

2 years ago

5.15.0

2 years ago

5.13.2

2 years ago

5.13.1

2 years ago

5.13.0

2 years ago

5.11.2

2 years ago

5.11.1

2 years ago

5.14.3

2 years ago

5.14.2

2 years ago

5.14.1

2 years ago

5.12.1

2 years ago

5.12.0

2 years ago

5.10.0

2 years ago

5.13.6

2 years ago

5.13.5

2 years ago

5.13.4

2 years ago

5.13.3

2 years ago

5.9.0

2 years ago

5.8.2

2 years ago

5.7.3

2 years ago

5.8.1

2 years ago

5.7.2

2 years ago

5.8.0

2 years ago

5.7.1

2 years ago

5.7.0

2 years ago

5.6.0

2 years ago

5.5.1

2 years ago

5.5.0

2 years ago

5.4.0

2 years ago

5.3.1

2 years ago

5.3.0

2 years ago

5.2.1

2 years ago

5.2.0

2 years ago

5.6.2

2 years ago

5.5.2

2 years ago

5.0.2

2 years ago

5.1.0

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

5.0.0-beta.20

2 years ago

5.0.0-beta.15

3 years ago

5.0.0-beta.16

2 years ago

5.0.0-beta.14

3 years ago

5.0.0-beta.19

2 years ago

5.0.0-beta.17

2 years ago

5.0.0-beta.18

2 years ago

5.0.0-beta.11

3 years ago

5.0.0-beta.12

3 years ago

5.0.0-beta.13

3 years ago

5.0.0-beta.10

3 years ago

5.0.0-beta.9

3 years ago

5.0.0-beta.8

3 years ago

5.0.0-beta.6

3 years ago

5.0.0-beta.5

3 years ago