22 dépôts
Pre-built validation routines for common data types used in algorithmic testing.
Distinct from Static Type Checkers: Distinct from Static Type Checkers: focuses on runtime data validation logic rather than compile-time type safety.
Explore 22 awesome GitHub repositories matching software engineering & architecture · Validation Logic. Refine with filters or upvote what's useful.
This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin
Provides reusable validation logic for common data types to streamline test case verification.
Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation
Transforms raw command-line input into typed data by applying custom parsing logic or range constraints.
This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The
Shifts input validation rules from controllers into dedicated request classes to decouple verification from execution.
EmailValidator is a PHP library for verifying email address syntax, format, and DNS records against technical specifications. It functions as a logic-based checker to ensure email addresses follow standard global formatting and communication rules. The library includes security utilities to identify deceptive characters and spoofing attempts in email addresses. These anti-spoofing tools analyze email strings for Unicode characters that mimic standard Latin letters to prevent fraudulent impersonation. The project covers domain verification through DNS record checks to confirm a destination se
Provides a standard interface allowing custom validation rules to be plugged into the core checking process.
yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu
Enforces the presence of required arguments and displays custom error messages when they are missing.
Mockery is a PHP framework designed for creating test doubles, stubs, and spies to facilitate isolated unit testing. It serves as a utility for simulating class behavior, intercepting method calls, and validating arguments, allowing developers to replace real dependencies with mock objects to verify that code components interact as intended. The framework distinguishes itself through advanced capabilities for handling complex testing scenarios, such as bypassing constructors, mocking protected methods, and intercepting static calls or internal object instantiations. It provides a fluent inter
Provides mechanisms to validate arguments passed to mock objects during test execution.
This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data. The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pip
Ensures that each field or directive contains only one instance of any given argument name.
oclif is a Node.js framework for building command-line interfaces. It provides a structured system for developing terminal applications with consistent command patterns, argument parsing, and automated help generation. The project features a modular plugin architecture that allows for external functionality to be injected via a manifest-based loading mechanism. It includes a dedicated distribution pipeline and packager to bundle applications into OS-native installers and tarballs for Windows, macOS, and Linux. The framework covers a broad range of development capabilities, including project
Provides a strictly validated schema for processing and validating command-line flags and arguments.
Prophecy is a PHP mocking framework and test double library used to simulate object dependencies during unit testing. It serves as a behavioral testing tool for creating mocks, stubs, and dummies to isolate code and ensure predictable test results. The framework enables interaction verification by tracking method call counts and arguments to validate that specific interactions occurred. It supports defining specific return values or custom logic for method calls to simulate various execution scenarios. The library provides capabilities for argument matching based on type or value, interactio
Includes routines for validating arguments passed to mock objects using types, values, or custom callbacks.
go-sqlmock is a Go library that simulates SQL driver behavior for unit testing by intercepting database calls through the standard database/sql/driver interface, eliminating the need for a real database connection. It provides a comprehensive mocking framework that allows developers to define expectations for SQL operations, including queries, executions, prepared statements, and transaction lifecycles, with precise control over the results and errors returned. The library distinguishes itself through its flexible matching and verification capabilities. It supports regex-based or exact SQL
Provides custom argument matchers for comparing complex types like time.Time in database query expectations.
Ce projet est une plateforme de capture de drapeau (CTF) et un environnement de formation en cybersécurité. Il fournit un framework pour déployer des défis de sécurité et suivre les progrès des participants via un classement en temps réel. La plateforme sert de système de gestion et de tableau de bord de compétition de sécurité, hébergeant une infrastructure intentionnellement vulnérable pour pratiquer l'ingénierie inverse et les techniques d'exploitation logicielle. Elle gère la découverte de chaînes secrètes au sein de ces puzzles pour déterminer les classements des équipes. Le système couvre la gestion des compétitions de cybersécurité, le déploiement de défis de sécurité et la formation à la recherche de vulnérabilités. Il utilise un système de suivi pour surveiller les totaux de points basés sur le nombre de défis de sécurité résolus.
Verifies successful exploitation of challenges by checking if the participant submitted the correct secret string.
Cette bibliothèque est un analyseur de ligne de commande .NET pour C# et F# qui implémente les conventions POSIX getopt pour mapper les arguments du shell dans des objets fortement typés. Elle fournit un framework pour construire des applications console qui traitent les drapeaux (flags) et options de style Unix. Le projet dispose d'un système de routage qui dirige l'exécution du programme en fonction de verbes orientés action, prenant en charge les sous-commandes et les actions par défaut. Il inclut un générateur d'aide automatique qui produit des instructions d'utilisation localisées et des écrans d'aide formatés basés sur les options de commande définies. La boîte à outils couvre l'analyse d'arguments avec mappage fortement typé, la validation des entrées pour les options mutuellement exclusives ou requises, et la capacité de sérialiser les objets d'options remplis en chaînes de ligne de commande.
Provides routines for validating command-line input, including required options and mutually exclusive flag combinations.
CLI11 est une bibliothèque C++ header-only pour l'analyse d'arguments en ligne de commande et la gestion de fichiers de configuration. Elle mappe les entrées du shell vers des variables typées et prend en charge la création de hiérarchies de commandes complexes. La bibliothèque se distingue par sa prise en charge des sous-commandes imbriquées avec une profondeur infinie et la correspondance de préfixes. Elle intègre la gestion de la configuration en permettant aux paramètres de l'application d'être chargés depuis des fichiers TOML ou INI, avec la possibilité de revenir aux variables d'environnement. Le projet fournit un ensemble complet d'outils pour l'analyse d'arguments, incluant des flags et des arguments positionnels, ainsi qu'un framework de validation pour imposer des options obligatoires et des dépendances mutuelles. Il inclut également la génération automatique de documentation d'aide avec un formatage personnalisable et un système de callback pour déclencher une logique personnalisée lors d'étapes d'analyse spécifiques. Cette bibliothèque sans dépendance est conçue pour C++11 et les versions ultérieures.
Validates that input values meet specific criteria, such as valid file paths or numeric ranges.
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.
Provides conditional logic to invert rule results, handle optional values, or require at least one passing validation.
Ce projet est un plugin de validation de protocol buffers et un générateur de code qui crée une logique de validation cohérente à travers plusieurs langages de programmation. Il fonctionne comme une extension de compilateur pour la chaîne d'outils Protocol Buffer, permettant aux développeurs de définir des contraintes sémantiques directement dans les fichiers de schéma pour assurer la cohérence des données. L'outil utilise des options personnalisées pour intégrer des règles de validation dans les définitions de messages, mappant ces contraintes de schéma vers des modèles d'implémentation spécifiques au langage. Il emploie une vérification de contrainte basée sur des prédicats et un parcours récursif pour appliquer les règles à travers les hiérarchies de messages imbriquées. La surface de validation couvre les plages et valeurs numériques, les modèles et formats de chaînes, les contraintes de séquence d'octets et l'application des enums. Il gère également les tailles de collections et de champs répétés, la validation de types complexes pour les horodatages et les durées, et les exigences pour la sélection de champs d'union.
Provides controls to disable specific validation rules or prevent code generation for certain message types.
Meow is a Node.js command line argument parser that converts raw input strings into structured objects. It functions as a tool for processing flags and positional arguments according to POSIX and shell conventions. The library provides a system for enforcing required arguments and verifying data types for command line inputs. It also serves as a helper for managing version strings, help menus, and subcommand routing within terminal applications. The project covers the broader surface of command line interface development, including input validation and the direction of execution paths via ke
Enforces required fields and verifies data types for command line flags and positional arguments.
This project is a React component for visualizing, exploring, and editing JSON data structures through an interactive, tree-based user interface. It renders complex JSON arrays and objects in a responsive browser interface that supports collapsing and expanding nodes. The utility functions as an interactive editor, allowing users to modify, add, or delete keys and values within JSON objects graphically rather than through raw text files. It includes a clipboard manager for copying specific objects or arrays from the visualized tree directly to the system clipboard. The component supports the
Executes user-defined functions during editing to ensure new JSON values remain structurally valid.
TastyIgniter is a comprehensive restaurant management system and digital ordering engine. Built as a modular application framework, it provides the tools necessary to operate online food ordering, table reservation systems, and multi-vendor e-commerce platforms. The platform is designed to handle complex restaurant operations, including multi-location networking and multi-vendor marketplace management. It distinguishes itself through specialized restaurant automation, such as coordinating guest limits and time slots for bookings, managing ingredient and allergen catalogs, and implementing mul
Executes custom logic after the primary validation pass to issue complex, contextual error messages.
This project is a framework for generating mock implementations of interfaces to isolate dependencies and verify method interactions during unit testing in Go. It provides tools to simulate external dependencies by creating controlled mock objects, allowing developers to test components in isolation without requiring real service connections. The library distinguishes itself through its use of static interface reflection to generate type-safe mock structures during the build process. It features a fluent assertion API that enables developers to define expected method calls, validate arguments
Validates method arguments against predefined criteria to ensure interactions meet test expectations.
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg
Restricts the user from providing conflicting flags simultaneously to prevent invalid configurations.