UNPKG

json-validate-utils

Version:

A simple json validator that validates data against schema

79 lines (49 loc) 2.24 kB
# json-validate-utils A lightweight JSON validator for Node.js and browser environments, with support for advanced validation features. ## Installation You can install `json-validate-utils` via npm: ## Usage `json-validate-utils` provides a `validateJSON` method that takes in two parameters: - `actualData` - The JSON data that needs to be validated. - `schema` - The JSON schema to compare the `actualData` against. The method returns an object containing an array of issues found in the `actualData`, with each issue represented as an object containing the `fieldName` and `message`. Here's an example of how to use `validateJSON`: ```js const { validateJSON } = require('json-validate-utils'); const actualData = { name: 'John Doe', email: 'john.doe@example.com', }; const schema = { name: { required: true, type: 'string', min: 2, max: 50 }, email: { required: true, type: 'string', regex: /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/, }, age: { required: false, type: 'number', min: 18, max: 60 }, }; const result = validateJSON(actualData, schema); if (result.issues.length === 0) { console.log('JSON is valid'); } else { console.log('JSON is invalid'); console.log(result.issues); } ``` # API `validateJSON(actualData, schema)` Validates the `actualData` against the provided `schema`. `actualData` - The JSON data that needs to be validated. `schema` - The JSON schema to compare the `actualData` against. Returns an object containing an array of issues found in the `actualData`, with each issue represented as an object containing the fieldName and message. # Schema Properties The following properties can be used in the `schema` object: `required` - Indicates whether the field is required or not. Defaults to false. `type` - The expected data type of the field. Possible values are string, number, boolean, object, and array. `min` - The minimum value of a number field. `max` - The maximum value of a number field. `regex` - A regular expression that the string field must match. `additionalValuesAllowed` - Indicates whether additional keys in the actual data are allowed or not. Defaults to true. # License MIT