6 repositorios
External logic providers used to define specialized validation rules for specific properties.
Distinct from Class Property Validation: Focuses on the mechanism for injecting custom validator classes or functions, rather than the general application of property validation.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Custom Validators. Refine with filters or upvote what's useful.
go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents. The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command
Allows injection of custom validation logic into generated Go struct models.
FluentValidation is a .NET validation library used to define strongly-typed validation rules for objects. It utilizes a fluent interface API and lambda expressions to ensure data integrity for classes and properties within the .NET type system. The library separates validation logic from business entities to keep domain models focused on core functionality. This approach enables the enforcement of business logic and the sanitization of input data or API payloads through a sequence of logic checks. The system supports complex validation surface areas, including the ability to nest validators
Allows the integration of custom validator classes and functions to implement domain-specific validation logic.
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
Provides the mechanism for creating specialized validation rules for types not covered by standard primitives.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Allows replacing the default validation engine with a custom class or external library for specialized constraints.
Connexion es un framework web de Python centrado en especificaciones diseñado para derivar el comportamiento del servidor y la lógica de validación directamente de un contrato de API predefinido. Permite el desarrollo de servicios web utilizando una especificación OpenAPI para manejar automáticamente el enrutamiento, la validación de solicitudes y la serialización de respuestas. El framework se distingue al actuar como un validador de solicitudes OpenAPI y servidor mock. Puede simular el comportamiento de la API sirviendo respuestas de ejemplo basadas en esquemas de especificación, permitiendo el desarrollo frontend y la creación de prototipos antes de que se complete una implementación backend. Además, aloja una interfaz de documentación de API interactiva, proporcionando una consola para que los usuarios visualicen y prueben endpoints. El proyecto cubre una amplia gama de capacidades, incluyendo registro automático de rutas, inyección de parámetros y aplicación de seguridad basada en definiciones de contrato. También proporciona herramientas para la validación de esquemas tanto de solicitudes como de respuestas, así como la capacidad de mapear excepciones de la aplicación a respuestas de error estandarizadas legibles por máquina.
Defines pluggable validation logic for request bodies and responses based on specific content types.
Fluent-validator es un framework de validación de Java diseñado para aplicar la integridad de los datos a través de restricciones declarativas y comprobaciones automatizadas en la capa de servicio. Proporciona un entorno estructurado para definir la lógica de validación que se integra con la especificación JSR 303, permitiendo a los desarrolladores mantener una calidad de datos consistente en jerarquías de objetos complejas y límites de aplicación. El framework se distingue por una interfaz fluida que permite la orquestación de cadenas de validación, permitiendo secuencias de reglas legibles y mantenibles. Admite un control de ejecución avanzado, incluida la capacidad de cambiar entre estrategias de fallo rápido y tolerancia a fallos, y utiliza la interceptación basada en proxy para verificar automáticamente los argumentos de los métodos dentro de contenedores gestionados. Más allá de la integración de restricciones estándar, la librería facilita una integridad de datos profunda a través del recorrido recursivo de grafos de objetos y la validación en cascada. Se adapta a los requisitos comerciales dinámicos al admitir lógica condicional, grupos de validación para la resolución de reglas consciente del contexto y la inyección de propiedades externas en el alcance de la validación. Los desarrolladores también pueden implementar clases de validación personalizadas para manejar requisitos de datos únicos junto con anotaciones estándar.
Enables developers to define reusable custom validation classes for unique data requirements.