27 dépôts
Custom validation rules that return promises to handle checks involving external network calls.
Distinct from Custom Validation Rules: More specific than general custom rules; explicitly handles the promise-based asynchronous nature of remote checks.
Explore 27 awesome GitHub repositories matching software engineering & architecture · Asynchronous Validators. Refine with filters or upvote what's useful.
This project is a Python-based proxy pool manager that collects, validates, and serves free proxy IP addresses through an HTTP API. It consists of an automated scraper to gather addresses from multiple online sources, a persistent database-backed store for organization, and a delivery interface for retrieving validated proxies. The system features a pluggable scraper architecture that allows for the integration of custom discovery methods and source expansion via generator functions. It employs decorator-based validation logic, enabling the definition of custom connectivity and HTTPS criteria
Enables the definition of custom validation logic using functions and decorators based on HTTP response criteria.
This is a Go struct validation library used to maintain data integrity by enforcing constraints on fields, slices, and maps. It functions as a schema validation tool and data integrity validator, ensuring that complex nested structures adhere to predefined rules. The library utilizes struct tags to configure validation logic at runtime and supports a custom function registry for extending validation rules. It is distinguished by its ability to perform cross-field dependency evaluation, allowing the comparison of values between different fields within the same data structure to ensure logical
Maintains a registry where custom validator functions are mapped to string identifiers for dynamic lookup during evaluation.
async-validator est une bibliothèque de validation de schéma JavaScript et un moteur de validation de données asynchrone. Il vérifie les structures d'objets complexes et les tableaux imbriqués en appliquant des règles récursives et une exécution non bloquante basée sur des promesses pour assurer l'intégrité des données. La bibliothèque fonctionne à la fois comme un validateur de contraintes d'objet et un pipeline de transformation de données. Elle permet l'assainissement, la coercition et le formatage des valeurs d'entrée via une séquence de fonctions qui s'exécutent avant et après le processus de validation principal. Le moteur couvre une gamme de capacités incluant la validation imbriquée récursive, l'application de contraintes de schéma standard et l'intégration de logique métier personnalisée via des fonctions de validation sur mesure. Il fournit également des outils pour la personnalisation des messages d'erreur et la localisation via des chaînes statiques ou des fonctions dynamiques.
Provides support for executing both synchronous and asynchronous custom validation logic on specific object fields.
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
Allows the creation of user-defined rules that return promises for asynchronous validation.
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
Runs synchronous or asynchronous validation functions on fields during submission or change events with optional debouncing.
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
Integrates user-defined synchronous and asynchronous functions into the validation process to enforce complex constraints.
react-final-form is a React form state management library that provides a framework for declarative form validation and the orchestration of dynamic input fields. It utilizes a subscription-based state manager to trigger interface updates only for the specific fields that change during user input, which optimizes rendering by limiting unnecessary component re-renders. The library functions as a dynamic input field orchestrator, allowing users to add, remove, or reorder lists of form fields. It manages complex form state through a system that supports conditional field rendering and real-time
Supports asynchronous validators that prevent the main input thread from blocking during complex validation checks.
Go Package of validators and sanitizers for strings, numerics, slices and structs
Supports passing arguments to validators via tag syntax, enabling configurable validation rules per field.
GraphQL.NET est un framework côté serveur pour construire et exécuter des API GraphQL au sein d'applications C#. Il fournit une boîte à outils complète pour la construction de schémas, un moteur fédéré pour les graphes de données distribués et un gestionnaire d'abonnements pour gérer les flux de données en temps réel. Le projet se distingue par un constructeur de schéma flexible qui prend en charge à la fois les définitions programmatiques code-first et les approches déclaratives schema-first utilisant le langage de définition de schéma standard. Il inclut un moteur de fédération dédié pour diviser les graphes de données en sous-graphes et les composer en une passerelle unifiée, ainsi qu'une implémentation de chargeur de données (data loader) spécifiquement conçue pour résoudre le problème de requête N+1 via le traitement par lots et la mise en cache. Le framework couvre un large éventail de capacités opérationnelles, notamment l'intégration de l'injection de dépendances pour la gestion du cycle de vie des services, des pipelines de middleware pour l'interception de la résolution de champs, et un pipeline d'exécution optimisé avec des types de valeur pour réduire les allocations mémoire. Il fournit également des outils pour l'analyse de la complexité des requêtes, la mise en cache des documents et le contrôle d'accès basé sur les rôles pour sécuriser les endpoints de l'API. La prise en charge de la compilation de schéma en avance de phase (ahead-of-time) permet au framework de s'exécuter dans des environnements qui interdisent la génération de code dynamique.
Runs validation rules asynchronously to support remote authentication checks and external data lookups.
immutability-helper est une bibliothèque de manipulation de données immuables et un utilitaire d'objet utilisé pour créer des copies modifiées d'objets et de tableaux. Il fonctionne comme un gestionnaire d'état basé sur des commandes et un transformateur de données fonctionnel qui garantit que les données sources originales restent inchangées lors des mises à jour. La bibliothèque se distingue en utilisant un ensemble déclaratif de commandes de mutation et de descripteurs pour spécifier les changements. Elle préserve l'égalité de référence en renvoyant la référence d'objet originale si aucun changement réel ne se produit pendant le processus de mutation. Elle fournit des capacités pour le clonage profond de structures imbriquées et l'exécution de mutations d'état complexes sur des objets, tableaux, maps et sets. Le système prend en charge la fusion d'objets immuables et l'application d'une logique de transformation personnalisée via un moteur de mutation enfichable.
Uses a lookup table to map identifiers to user-defined functions for specialized data transformations.
Ce projet est une implémentation Python de la spécification JSON Schema, fournissant une bibliothèque pour vérifier que les instances de données sont conformes aux schémas définis. Il sert de framework de validation de données capable de valider à la fois les données elles-mêmes et les schémas par rapport aux méta-schémas officiels pour assurer l'exactitude structurelle. La bibliothèque dispose d'un résolveur de références de schéma qui mappe les URIs aux définitions, permettant la résolution de références internes et distantes pour une gestion modulaire des schémas. Elle est conçue pour l'extensibilité, permettant la définition de mots-clés personnalisés, une logique de vérification de type personnalisée et l'enregistrement de nouvelles fonctions de validation pour des formats de chaîne spécialisés. Le système fournit un rapport d'erreurs complet qui identifie toutes les violations dans une instance de données et les organise dans une hiérarchie structurée en arbre. Cela permet l'interrogation programmatique des échecs de validation, l'extraction de métadonnées de diagnostic et l'identification des erreurs primaires basées sur la hiérarchie des données. L'implémentation prend en charge plusieurs brouillons de spécifications via des classes de validation spécifiques à la version et des spécifications de dialecte de schéma.
Maps specific schema keywords to custom Python callables for implementing specialized business validation rules.
Ce projet est une bibliothèque et un framework de validation JSON Schema utilisés pour vérifier que les instances de données sont conformes aux définitions déclaratives. Il fonctionne comme un moteur de validation qui applique des contraintes structurelles et des types de données, tout en servant également de méta-validateur pour garantir que les définitions de schéma elles-mêmes sont syntaxiquement correctes par rapport aux méta-schémas officiels. La bibliothèque est conçue pour l'extensibilité, permettant aux utilisateurs de définir une logique de validation personnalisée en mappant les mots-clés de schéma à des fonctions appelables spécialisées. Elle inclut un résolveur de références basé sur un registre pour gérer les références URI internes et externes afin de réutiliser des sous-schémas à travers différents documents. Le système couvre un large éventail de capacités de validation, y compris la vérification du type de données, la vérification du format de chaîne pour des types comme les emails et les UUIDs, et un rapport d'erreurs complet. Les outils de diagnostic fournissent un suivi des erreurs imbriquées et un filtrage heuristique pour identifier les échecs les plus pertinents au sein d'une structure de données.
Enables mapping schema keywords to custom callable functions and configuring specialized type and format checkers.
IPProxyPool est un gestionnaire de pool de proxy HTTP qui crawle, valide et sert une liste rotative d'adresses proxy fonctionnelles via une API programmatique. Il intègre le scraping de proxy, la validation de connectivité et le stockage en base de données persistante pour fournir une source gérée d'adresses IP pour les requêtes réseau. Le système utilise une architecture de scraping basée sur des plugins pour collecter des adresses IP depuis plusieurs sites web externes et une file d'attente de validation asynchrone pour tester ces candidats en parallèle. Il différencie son pool en attribuant des scores de stabilité numériques aux proxys via des vérifications de santé périodiques et une vérification de connectivité, permettant la récupération d'adresses à haute stabilité filtrées par région et protocole. Le projet inclut une couche d'abstraction de base de données avec des backends enfichables pour la persistance des données et fournit des outils pour purger des entrées proxy spécifiques. Il prend également en charge une logique de validation personnalisée pour définir les critères spécifiques utilisés pour déterminer la validité d'un proxy.
Provides a framework for executing custom synchronous or asynchronous validation functions to determine proxy validity.
v8n est une bibliothèque de validation de données JavaScript utilisée pour vérifier que les valeurs, objets et tableaux répondent à des critères spécifiques. Il fonctionne comme un validateur basé sur un schéma et un moteur de validation asynchrone, utilisant une API fluide pour construire des séquences de règles et de contraintes chaînables. Le framework se distingue par sa capacité à exécuter des promesses et des requêtes réseau pendant le processus de validation pour déterminer si une valeur est valide. Il permet la création de schémas de validation réutilisables et fournit un framework de règles personnalisable où les utilisateurs peuvent définir leur propre logique et configurer la façon dont les résultats d'erreur sont renvoyés. La bibliothèque couvre un large éventail de capacités de vérification, incluant la vérification du type de données pour les primitives et prototypes, la validation du contenu des chaînes via regex et jeux de caractères, et les contraintes numériques. Elle prend également en charge la vérification d'objets complexes, la validation d'éléments de collection et de tableau, et la logique conditionnelle pour inverser les règles ou gérer les valeurs optionnelles. Le système est conçu pour une collecte détaillée des erreurs, évaluant les valeurs par rapport à chaque règle définie pour rassembler une liste complète des échecs plutôt que de s'arrêter à la première erreur.
Supports custom validation rules that return promises for performing asynchronous external lookups.
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
Transforms simple boolean functions into complex validation objects that support custom error messages and metadata.
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
Executes custom synchronous or asynchronous validation logic with support for specific error messages.
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,
Supports the use of custom functions to replace default schema validation and handle data verification errors.
Flasgger is an OpenAPI documentation generator for Flask that creates interactive API specifications and Swagger UI documentation directly from application docstrings. It functions as an OpenAPI schema validator, verifying that incoming request data matches defined specifications and returning standardized error responses. The project includes a Marshmallow schema bridge to convert data structures into OpenAPI definitions and integrates a web interface for visualizing and testing API endpoints through an embedded interactive console. It further supports dynamic specification resolution, allow
Provides support for replacing default schema validation with custom user-defined functions.
This project is a client-side data management library and query orchestrator designed to synchronize remote server state with local client state. It functions as a type-safe state manager and cache orchestrator that coordinates data loading across diverse backends, including REST, GraphQL, and WebSockets. The system distinguishes itself through a durable workflow engine for executing asynchronous functions with persisted state and deterministic replay. It also provides a standardized AI integration adapter to connect large language models to application data, supporting real-time response str
Executes debounced background checks via asynchronous validators to enforce form rules without blocking the interface.
Spectral is a programmable linting engine and validation tool designed to enforce style guidelines and schema correctness within OpenAPI specifications and JSON configuration files. It functions as a rule-based validator that analyzes structured text files to ensure data consistency and adherence to predefined constraints. The engine utilizes a configuration-driven execution model, allowing users to manage pluggable rule sets and integrate JSON Schema definitions. It supports the creation of custom function-based rules to define complex validation logic beyond static declarations. The projec
Allows the use of external JavaScript functions to define complex validation logic beyond static declarations.