anothersimplejsonvalidator
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Deep Level JSON Validator

A comprehensive tool for validating complex JSON structures

Overview

This validator offers thorough validation of JSON data, ensuring it conforms to specified schemas. It supports nested structures, various data types, custom validation rules, and flexible error handling.

Key Features

  • Deep Validation: Validates nested objects and arrays, ensuring data integrity at every level.
  • Flexible Schema Definition: Defines schemas using a type-safe, declarative API, covering diverse data types like strings, numbers, booleans, objects, arrays, and more.
  • Custom Validation Rules: Enforces specific validation logic with regular expressions for strings and minimum/maximum length for arrays.
  • Error Handling: Provides informative error messages with detailed context for easy debugging, including error types, locations, expected values, and schema details.
  • Exception Handling: Optionally throws errors for immediate interruption of validation upon encountering invalid data.

Usage

  1. Import the validator:

    import { JsonValidator, Schema } from "anothersimplejsonvalidator";
  2. Define the schema:

    const schema = Schema.object({
      id: Schema.string().required(),
      name: Schema.string().required(),
      details: Schema.object({
        price: Schema.number().required(),
        ratings: Schema.array(
          Schema.object({
            rating: Schema.number().required(),
            comment: Schema.string(),
          }).required()
        ),
      }).required(),
      tags: Schema.array(Schema.string()),
    }).required();
  3. Create a validator instance:

    const validator = new JsonValidator({
      schema,
      throwError: true, // Optional: Throw errors on invalid data
    });
  4. Validate JSON data:

    const data = {
      // ... your JSON data
    };
    
    const validationResult = validator.validate(data);
    
    if (validationResult === true) {
      // Data is valid
    } else {
      // Handle errors
      console.error(validationResult); // Array of ErrorController objects
    }

Error Handling

The validate method returns either true if the data is valid, or an array of ErrorController objects containing detailed error information.

Additional Information

  • Supported Data Types: string, number, object, array, boolean, and any.
  • Error Types: Unexpected, Expected, MissingKeys, MissingTypes, Exception, StringRegexMissmatch, NumberMinExpected, NumberMaxExpected.
  • Custom Validation Rules: Regular expressions for strings, minimum/maximum length for arrays.

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.4
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.4
    0
  • 1.0.3
    0
  • 1.0.2
    0
  • 1.0.1
    0
  • 1.0.0
    1

Package Sidebar

Install

npm i anothersimplejsonvalidator

Weekly Downloads

1

Version

1.0.4

License

MIT

Unpacked Size

25.5 kB

Total Files

8

Last publish

Collaborators

  • mukul11a47