30 open-source projects similar to yiminghe/async-validator, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Async Validator alternative.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
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
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 result
class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for object properties. It functions as a decorator-based schema validator that ensures data integrity and structural correctness through a combination of synchronous checks and promise-based asynchronous rules. The library provides a recursive validation system for checking complex data hierarchies, including nested classes and individual elements within collections. It includes an object property whitelist utility capable of stripping undocumented properties or blocking unknown field
This library provides a comprehensive system for defining data schemas and enforcing structural integrity within JavaScript applications. It enables developers to construct declarative rules for complex, nested objects, ensuring that data conforms to expected types and constraints before it is processed or stored. By integrating directly with the Meteor framework, it serves as a central tool for maintaining consistent data structures across collections and remote procedure calls. The project distinguishes itself through its deep integration with reactive data systems, allowing validation stat
Vee-validate is a form validation library and state management tool for Vue applications. It enables the validation of user inputs through declarative rules and tracks form metadata, including submission status and dirty states. The library functions as a wrapper for integrating external schema validation libraries to enforce consistent data shapes. It also serves as an internationalized framework for displaying translated error messages and localized feedback. The project covers broad capability areas including form state management, the handling of complex nested data structures, and the s
This library is a PHP framework for enforcing data integrity and business rules by validating scalar values and complex object structures against predefined constraints. It provides a structured approach to inspecting object graphs and property metadata, ensuring that data conforms to expected requirements before it is processed by an application. The framework distinguishes itself through a metadata-driven mapping system that uses reflection or configuration files to apply rules directly to object properties. It supports contextual rule orchestration, allowing developers to organize constrai
ozzo-validation is a programmable data validation library for Go that verifies structs, maps, and primitive types using a declarative, rule-based approach. It functions as an interface-based validator, allowing for the recursive checking of nested data structures and custom types without the use of struct tags. The framework distinguishes itself as a context-aware validation engine, supporting the propagation of request-scoped data to rules that depend on external state. It provides extensive extensibility through custom rule definitions and the ability to override default failure text with l
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
Validate.js is a JavaScript library designed for declarative data validation and form processing. It provides a framework for verifying complex objects and individual data points against structured constraint schemas, ensuring that application state and user input meet defined requirements. The library distinguishes itself through its support for asynchronous validation, allowing for verification tasks that require external data sources or server-side checks. It includes a built-in utility for extracting and normalizing data from web forms, which cleans input by removing whitespace and empty
Ajv is a high-performance data validation framework that compiles JSON schemas into optimized, standalone JavaScript functions. By transforming declarative schema definitions into executable code, it eliminates runtime interpretation overhead and provides a secure, efficient way to enforce data integrity across both browser and server environments. The library distinguishes itself through its focus on performance and type safety. It employs advanced compilation techniques, including abstract syntax tree optimization and function caching, to ensure rapid validation. Beyond standard checks, it
This project is a Python implementation of the JSON Schema specification, providing a library for verifying that data instances conform to defined schemas. It serves as a data validation framework capable of validating both the data itself and the schemas against official meta-schemas to ensure structural correctness. The library features a schema reference resolver that maps URIs to definitions, enabling the resolution of internal and remote references for modular schema management. It is designed for extensibility, allowing for the definition of custom keywords, custom type-checking logic,
Parsley.js is a JavaScript form validation library that provides a client-side data validator for verifying input correctness before submission. It functions as an HTML attribute-based validator, allowing constraints to be defined declaratively within HTML data attributes to enforce rules without requiring custom scripts. The framework distinguishes itself through a customizable validation system that supports user-defined rules and custom error message templates. It includes a remote validation interface to verify form values against server endpoints via asynchronous network requests and sup
Vibora is an asynchronous Python web framework and built-in HTTP server designed for building high-performance web applications. It utilizes an asynchronous event loop and coroutines to process network requests and serve responses without requiring external server wrappers. The project features a high-performance asynchronous schema validator for request integrity, a non-blocking template engine with support for hot-reloading, and a WebSocket communication server for bidirectional real-time data exchange. The framework covers a broad range of capabilities, including modular route management
ow is a type-safe schema validation library for TypeScript that verifies data integrity at runtime. It functions as a runtime validation framework and type guard utility, ensuring that JavaScript values match expected types and schemas before they are processed. The library synchronizes runtime data checks with static TypeScript type definitions, allowing users to extract type definitions directly from validation predicates. This integration enables type narrowing, where a successful validation result refines the variable type for safer usage in the code. The framework uses a chainable API t
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
Zod is a TypeScript-first schema declaration and validation library designed to ensure end-to-end data integrity. It functions as a runtime type guard, allowing developers to define complex data structures through a declarative, chainable syntax. By using these schema definitions, the library automatically derives static TypeScript types, eliminating the need for manual type duplication and ensuring that runtime data matches expected application contracts. The library distinguishes itself through functional schema composition, which enables the creation of hierarchical structures by nesting a
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru
Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined shapes and types. It functions as a composable schema builder and a TypeScript schema validator, ensuring that runtime data checks remain synchronized with static type definitions. The library features a data coercion engine that transforms input values or injects default values before the validation process is executed. It enables the creation of complex validation rules by nesting, merging, or omitting properties from existing structures. Its capabilities cover the validatio
Flasgger is a documentation framework for Flask applications that generates OpenAPI specifications and an integrated Swagger UI. It functions as a documentation generator and specification parser that extracts API schemas from route definitions, function docstrings, and external specification files. The tool allows API definitions to be maintained either within the source code using YAML blocks in docstrings or decoupled into standalone YAML files. It provides a browser-based interactive console for testing and exploring API endpoints directly from the web application. Beyond documentation,
Pandera is a data pipeline validation framework and statistical type validation tool. It functions as a library for defining and enforcing schemas on datasets to ensure data quality and consistency, specifically providing validation capabilities for Pandas dataframes. The project includes a schema inference tool that automates setup by analyzing existing dataset samples to generate validation schemas. It also serves as a synthetic data generator, creating artificial datasets based on predefined schemas to verify data-producing functions. The framework covers data engineering quality assuranc
Hibernate Validator is a reference implementation of the Jakarta Validation specification, serving as a framework for enforcing data integrity across Java applications. It functions as a declarative validation engine that processes object constraints to ensure that application state remains consistent. By utilizing metadata-driven rules, the library validates object properties, method parameters, and nested collections to maintain data standards throughout an application's layers. The library distinguishes itself through its ability to perform static analysis on validation configurations, ide
Angular schema form is a framework directive and form component library that automatically generates and validates interactive HTML form controls from standard JSON schemas and companion layout configurations. It translates structured data definitions into customizable user input interfaces, parsing data types and custom rules into native form controls and reusable HTML markup templates. The project provides capabilities for dynamic field management, allowing form elements to show or hide conditionally by evaluating expressions against current model and scope state, and supporting dynamic arr
Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples behavioral logic and state management from the visual layer, allowing developers to implement complex UI patterns while maintaining total control over the final styling. The library implements WAI-ARIA design patterns to ensure all primitives support standard keyboard navigation and screen reader accessibility. It provides a suite of low-level building blocks that handle the internal mechanics of interface elements without bundling any CSS. The framework covers a broad range
Go Package of validators and sanitizers for strings, numerics, slices and structs
Backbone.validation is a JavaScript library designed to enforce data integrity within Backbone.js models. It provides a framework for defining declarative validation schemas that intercept attribute changes, ensuring that data meets specified business requirements before it is committed to the model. The library distinguishes itself by tightly coupling model-level validation with user interface components. It features an event-driven binding system that monitors model states and automatically triggers interface updates, providing real-time feedback as users interact with forms. This approach
Commitlint is a command-line utility designed to lint and validate Git commit messages against established conventions. By parsing commit messages into structured components, it ensures that project history remains consistent, which facilitates automated changelog generation and semantic versioning. The tool distinguishes itself through a schema-driven validation engine that supports custom rule definitions and plugin-based extensions. It enables standardized project governance by allowing teams to distribute and inherit shared configuration rule sets across multiple repositories, ensuring un
This project is a protocol buffer validation plugin and code generator that creates consistent validation logic across multiple programming languages. It functions as a compiler extension for the Protocol Buffer toolchain, allowing developers to define semantic constraints directly within schema files to ensure data consistency. The tool uses custom options to embed validation rules into message definitions, mapping these schema constraints to language-specific implementation patterns. It employs predicate-based constraint checking and recursive traversal to enforce rules across nested messag
Dataclasses-json is a library designed to facilitate the bidirectional conversion between Python data classes and JSON formats. It serves as a serialization tool that populates structured objects from raw data and transforms object instances into JSON strings, utilizing Python type hints to automate the mapping process. The library distinguishes itself by providing mechanisms for schema validation and runtime type coercion, ensuring that incoming data adheres to predefined model structures. It supports complex data requirements through recursive object traversal, which allows for the processi
Fluent-validator is a Java validation framework designed to enforce data integrity through declarative constraints and automated service-layer checks. It provides a structured environment for defining validation logic that integrates with the JSR 303 specification, allowing developers to maintain consistent data quality across complex object hierarchies and application boundaries. The framework distinguishes itself through a fluent interface that enables the orchestration of validation chains, allowing for readable and maintainable rule sequences. It supports advanced execution control, inclu