
Research
/Security News
Weaponizing Discord for Command and Control Across npm, PyPI, and RubyGems.org
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
@rjsf/validator-ajv8
Advanced tools
AJV-8 based validator plugin for react-jsonschema-form
.
Explore the docs »
View Playground
·
Report Bug
·
Request Feature
Exports validator-ajv8
plugin for react-jsonschema-form
.
@rjsf/utils >= 5.0.0
yarn add @rjsf/core
yarn add @rjsf/validator-ajv8
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} />;
See the open issues for a list of proposed features (and known issues).
Read our contributors' guide to get started.
rjsf team: https://github.com/orgs/rjsf-team/people
GitHub repository: https://github.com/rjsf-team/react-jsonschema-form
AJV (Another JSON Schema Validator) is a popular JSON schema validator used for validating data against JSON schemas. It is highly performant and supports JSON Schema draft-07 and later. Compared to @rjsf/validator-ajv8, AJV is a more general-purpose validator and can be used outside of the React JSON Schema Form context.
The jsonschema package is a simple and lightweight JSON schema validator for JavaScript. It supports JSON Schema draft-04 and is easy to use for basic validation needs. While it is not as feature-rich as AJV, it provides a straightforward way to validate JSON data. Compared to @rjsf/validator-ajv8, jsonschema is less powerful but may be sufficient for simpler use cases.
is-my-json-valid is a fast JSON schema validator that supports JSON Schema draft-04. It is designed for performance and can be used in both Node.js and browser environments. Compared to @rjsf/validator-ajv8, is-my-json-valid is focused on speed and may lack some of the advanced features provided by AJV.
FAQs
The ajv-8 based validator for @rjsf/core
The npm package @rjsf/validator-ajv8 receives a total of 367,246 weekly downloads. As such, @rjsf/validator-ajv8 popularity was classified as popular.
We found that @rjsf/validator-ajv8 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Security News
Socket now integrates with Bun 1.3’s Security Scanner API to block risky packages at install time and enforce your organization’s policies in local dev and CI.
Research
The Socket Threat Research Team is tracking weekly intrusions into the npm registry that follow a repeatable adversarial playbook used by North Korean state-sponsored actors.