awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
imbrn avatar

imbrn/v8n

0
View on GitHub↗
4,145 stars·105 forks·JavaScript·MIT·4 viewsimbrn.github.io/v8n↗

V8n

v8n is a JavaScript data validation library used to verify that values, objects, and arrays meet specific criteria. It functions as a schema-based validator and an asynchronous validation engine, utilizing a fluent API to construct sequences of chainable rules and constraints.

The framework is distinguished by its ability to execute promises and network requests during the validation process to determine if a value is valid. It allows for the creation of reusable validation schemas and provides a customizable rule framework where users can define their own logic and configure how error results are returned.

The library covers a broad range of verification capabilities, including data type verification for primitives and prototypes, string content validation via regex and character sets, and numeric constraints. It also supports complex object verification, collection and array element validation, and conditional logic for inverting rules or handling optional values.

The system is designed for detailed error collection, evaluating values against every defined rule to gather a complete list of failures rather than halting at the first error.

Features

  • Fluent Validation Rules - Ships a fluent API that allows developers to construct validation pipelines through a sequence of chainable methods.
  • JavaScript Schema Validation - Provides a library to verify complex JavaScript object structures against defined rules and constraints.
  • Data Validation Libraries - Functions as a tool for parsing and validating JavaScript data structures against predefined schemas.
  • Asynchronous Validators - Provides mechanisms for asynchronous validation checks that require external API calls or database lookups.
  • Asynchronous Validation Pipelines - Supports asynchronous validation rules that execute promises, enabling network requests and database lookups during the verification process.
  • Asynchronous Validation Engines - Implements a non-blocking engine that processes complex object structures using recursive rules and promises.
  • Asynchronous Validators - Supports custom validation rules that return promises for performing asynchronous external lookups.
  • Customizable Validation Frameworks - Provides a framework for creating user-defined validation logic and configuring how error results are returned.
  • Data Type Validation - Checks if a value matches a specific type or prototype constructor to ensure data conforms to expected structures.
  • Collection Constraints - Includes checks for the length of arrays or strings and verifies if they contain specific required items.
  • Element-Level Validation - Provides capabilities to ensure that individual elements within a collection satisfy specific validation rules.
  • Object Structure Validations - Provides capabilities to verify that objects conform to specific key-value patterns and strictly manage unauthorized properties.
  • Strict Object Validation - Ensures objects conform to specific key-validation pairs and supports strict property checking.
  • Cumulative Error Collection - Implements a validation engine that gathers all failures in a rule chain instead of short-circuiting after the first error.
  • Numeric Constraint Validation - Verifies numeric constraints including integer status, positivity, parity, and specific range boundaries.
  • Chainable Validation APIs - Uses a chainable API pattern to declaratively specify multiple validation rules and sanitizers.
  • Schema Composition Libraries - Provides a compositional approach to building complex validation structures by nesting and chaining reusable schema primitives.
  • String Content Constraints - Verifies string properties such as case, character sets, regex patterns, and specific start or end characters.
  • Reusable Data Schemas - Allows for the creation of reusable validation schemas to maintain consistent data constraints across applications.
  • Custom Validation Rules - Offers a framework for extending the library with user-defined validation logic via a chainable interface.
  • Data Validation Schemas - Allows exporting pre-configured validation chains as reusable modules to maintain consistent constraints.
  • Error Handling Strategies - Implements configurable strategies for how validation results are returned to the application.
  • Dynamic Type Checking - Determines the data type of a value at runtime using prototypes and native types to drive validation logic.
  • Validation Control Flow - Provides conditional logic to invert rule results, handle optional values, or require at least one passing validation.
  • Validation Output Modes - Allows switching the validation output mode between boolean values, detailed error lists, or thrown exceptions.
  • Data Validation - Fluent JavaScript validation library.

Star history

Star history chart for imbrn/v8nStar history chart for imbrn/v8n

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does imbrn/v8n do?

v8n is a JavaScript data validation library used to verify that values, objects, and arrays meet specific criteria. It functions as a schema-based validator and an asynchronous validation engine, utilizing a fluent API to construct sequences of chainable rules and constraints.

What are the main features of imbrn/v8n?

The main features of imbrn/v8n are: Fluent Validation Rules, JavaScript Schema Validation, Data Validation Libraries, Asynchronous Validators, Asynchronous Validation Pipelines, Asynchronous Validation Engines, Customizable Validation Frameworks, Data Type Validation.

What are some open-source alternatives to imbrn/v8n?

Open-source alternatives to imbrn/v8n include: open-circle/valibot — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments. yiminghe/async-validator — async-validator is a JavaScript schema validation library and asynchronous data validation engine. It verifies complex… jquense/yup — Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as… hapijs/joi — Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It… meteor-community-packages/meteor-simple-schema — This library provides a comprehensive system for defining data schemas and enforcing structural integrity within… ianstormtaylor/superstruct — Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined…

Open-source alternatives to V8n

Similar open-source projects, ranked by how many features they share with V8n.
  • open-circle/valibotopen-circle avatar

    open-circle/valibot

    8,769View on GitHub↗

    Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.

    TypeScriptbundle-sizemodularparsing
    View on GitHub↗8,769
  • yiminghe/async-validatoryiminghe avatar

    yiminghe/async-validator

    9,099View on GitHub↗

    async-validator is a JavaScript schema validation library and asynchronous data validation engine. It verifies complex object structures and nested arrays by applying recursive rules and non-blocking, promise-based execution to ensure data integrity. The library functions as both an object constraint validator and a data transformation pipeline. It allows for the sanitization, coercion, and formatting of input values through a sequence of functions that run before and after the primary validation process. The engine covers a range of capabilities including recursive nested validation, the en

    TypeScript
    View on GitHub↗9,099
  • jquense/yupjquense avatar

    jquense/yup

    23,673View on GitHub↗

    Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def

    TypeScript
    View on GitHub↗23,673
  • hapijs/joihapijs avatar

    hapijs/joi

    21,192View on GitHub↗

    Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It functions as an object schema validator and parser, ensuring that input data matches specific types and formats before it is processed by an application. The library features a conditional validation engine capable of dynamic schema enforcement, where validation logic and dependencies change based on the values of other keys within an object. It also serves as a data casting and sanitization tool, transforming input values into target types and removing sensitive keys from the

    JavaScripthapijavascriptschema
    View on GitHub↗21,192
  • See all 30 alternatives to V8n→