2 repositorios
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 es una biblioteca de Ruby diseñada para definir esquemas con seguridad de tipos y reglas de validación complejas para verificar y sanitizar estructuras de datos de entrada. Proporciona un framework formal para construir lógica de validación modular, asegurando que la información entrante cumpla con requisitos comerciales y formatos de datos específicos antes de ser procesada por una aplicación. La biblioteca utiliza un lenguaje específico de dominio (DSL) para declarar reglas de validación, que luego se analizan en objetos ejecutables. Destaca por un sistema basado en macros que agrupa la lógica de validación común en atajos reutilizables, junto con un modelo de composición recursiva que permite a los desarrolladores anidar objetos de validación para construir estructuras complejas y jerárquicas. Este enfoque permite la creación de lógica consistente y modular que evita la duplicación de código en aplicaciones grandes. Más allá de la definición de esquema central, la biblioteca incluye un pipeline de coerción de tipos que transforma la entrada bruta en formatos esperados y un sistema de agregación de errores estructurado que mapea las fallas a rutas de entrada específicas. Admite ganchos de configuración para la integración de dependencias externas y proporciona herramientas para sanitizar datos, lo que la hace adecuada para aplicar estándares en solicitudes de API entrantes y objetos de datos complejos.
Provides a domain-specific language to declare validation rules and data structures that are parsed into executable objects.