2 dépôts
Validation rules automatically derived from a domain-specific language definition rather than database schemas.
Distinct from Schema-Driven Validations: Distinct from Schema-Driven Validations: derives validation rules from a DSL, not from database table constraints.
Explore 2 awesome GitHub repositories matching software engineering & architecture · DSL-Driven Validations. Refine with filters or upvote what's useful.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Validates incoming requests automatically against the DSL-defined schema before reaching handler logic.
Dry-validation est une bibliothèque Ruby conçue pour définir des schémas typés et des règles de validation complexes afin de vérifier et assainir les structures de données d'entrée. Elle fournit un framework formel pour construire une logique de validation modulaire, garantissant que les informations entrantes répondent aux exigences métier et aux formats de données spécifiques avant d'être traitées par une application. La bibliothèque utilise un langage spécifique au domaine (DSL) pour déclarer les règles de validation, qui sont ensuite analysées en objets exécutables. Elle se distingue par un système piloté par des macros qui regroupe la logique de validation courante dans des raccourcis réutilisables, ainsi qu'un modèle de composition récursive qui permet aux développeurs d'imbriquer des objets de validation pour construire des structures complexes et hiérarchiques. Cette approche permet la création d'une logique cohérente et modulaire qui empêche la duplication de code dans les grandes applications. Au-delà de la définition de schéma de base, la bibliothèque inclut un pipeline de coercition de type qui transforme les entrées brutes en formats attendus et un système d'agrégation d'erreurs structuré qui mappe les échecs à des chemins d'entrée spécifiques. Elle prend en charge des hooks de configuration pour l'intégration de dépendances externes et fournit des outils pour assainir les données, la rendant adaptée pour imposer des standards sur les requêtes API entrantes et les objets de données complexes.
Provides a domain-specific language to declare validation rules and data structures that are parsed into executable objects.