21 dépôts
Libraries for managing form state, validation, and schema handling.
Explore 21 awesome GitHub repositories matching part of an awesome list · Forms and Validation. Refine with filters or upvote what's useful.
React Hook Form is a state management library designed to handle form registration, validation, and submission lifecycle events. By decoupling form control logic from the standard component lifecycle, it enables the creation of performant forms that minimize unnecessary re-renders. The library integrates with external schema validation tools to enforce data integrity and provides a declarative framework for managing complex form structures. The project distinguishes itself through a subscription-based architecture that tracks property access to ensure components only update when the specific
Performant form state management using hooks.
This project is a declarative framework for building interactive web forms by parsing JSON Schema definitions. It functions as a component-based generator that automatically maps schema constraints to input fields and validation logic, ensuring that data collection remains consistent with defined structures. The library distinguishes itself through a registry-based architecture that allows for extensive customization of the user interface. Developers can override default widgets, field templates, and layout structures to accommodate unique data types or specific design requirements. It suppor
Form generation based on JSON schemas.
Formily is a schema-driven framework designed for building complex web forms by decoupling business logic and validation rules from the underlying user interface. It utilizes a declarative JSON schema to define form structures, allowing developers to manage data collection and field interactions independently of specific component libraries or frontend frameworks. The system is built upon a reactive observable state engine that synchronizes form data, validation status, and field interactions in real time. By employing a recursive tree traversal and a centralized event bus, the engine manages
Unified solution for complex form management.
Marshmallow is a Python data serialization library and validation framework. It functions as a bridge that transforms complex application objects into primitive data types for storage or network transmission and vice versa. The library utilizes a schema-based approach to validate that incoming data conforms to specific types and constraints. It employs a two-way transformation pipeline consisting of separate load and dump phases to handle deserialization and serialization. The framework supports class-based schema definitions with declarative field validation and recursive schema nesting for
Library for object serialization and validation.
Phoenix LiveView is an Elixir-based framework that renders HTML on the server and sends only the changed parts to the client over a persistent WebSocket connection. It operates on a process-per-connection model, where each user session runs in its own isolated Elixir process for fault tolerance and independent state management, and includes a LongPolling fallback transport for environments where WebSocket connections are unavailable. The framework provides server-side rendered diffs and WebSocket-based state synchronization to maintain a continuous bidirectional channel between server and cli
Renders and manages form fields for associated data models such as embedded schemas or child records.
Nuxt UI is a comprehensive Vue component library built for the Nuxt ecosystem, providing over 125 production-ready, WAI-ARIA compliant components for building modern web applications. The library offers a complete design system with Tailwind CSS theming, supporting dark mode, custom color palettes, semantic color aliases, and runtime theme switching through CSS design tokens. It includes built-in internationalization for over 50 languages, server-side rendering compatibility, and a Figma kit that mirrors the code components for design-to-development consistency. The library distinguishes itse
Validates a group of nested forms together so that validating the parent automatically validates all children.
TanStack Form is a cross-framework form state management library that provides typed fields, validation, and submission across React, Vue, Angular, Solid, Lit, Svelte, and Preact. It uses a shared form model that adapts to different UI frameworks while preserving the same validation and submission logic, and offers headless form controls that impose no UI markup, letting developers bring their own inputs and design system. The library distinguishes itself through granular state subscription, where components subscribe to narrow slices of form or field state using reactive primitives, so only
Runs synchronous validators on field changes and debounced asynchronous checks for slow business rules.
web.py is a minimal Python web framework that provides the core components needed to build web applications: URL routing, template rendering, database access, form handling, and session management. The framework uses a convention-based approach where URL patterns are automatically mapped to handler classes based on their names, eliminating the need for manual route configuration. It exposes applications as WSGI callables, making them deployable with any WSGI-compliant server. The framework distinguishes itself through its metaclass-driven auto-discovery system, which automatically registers h
Creates HTML forms with defined field rules and validates user-submitted data automatically on the server.
Lamp Cloud is a multi-tenant SaaS backend framework built on Java and Spring Cloud that provides a complete foundation for building enterprise-grade administration systems. Its core identity centers on supporting multiple tenant isolation strategies—including database-per-tenant, schema-per-tenant, and shared-table modes—that can be switched without altering business code, alongside a role-based access control system enforced at the gateway layer across all microservices. The framework distinguishes itself through comprehensive tenant lifecycle management tools that allow creating, configurin
Applies the same validation rules on both client and server to ensure data integrity across the stack.
Formtastic est un générateur de formulaires Ruby on Rails qui fournit un langage dédié (DSL) pour générer des formulaires HTML sémantiquement riches et accessibles. Il fonctionne comme un framework piloté par les modèles qui mappe automatiquement les attributs et les associations du schéma de base de données aux champs de saisie correspondants, rationalisant la création d'interfaces de saisie de données. Le framework se distingue par un système de recherche hiérarchique qui gère les étiquettes, les indices et les boutons d'action internationalisés à travers différents espaces de noms de modèles et d'attributs. Il prend également en charge les relations de données complexes en traitant de manière récursive les ressources imbriquées, permettant aux développeurs de capturer et d'enregistrer plusieurs enregistrements liés au sein d'une seule structure de formulaire. Au-delà de la génération de saisie standard, la bibliothèque offre des options de configuration étendues pour personnaliser les attributs HTML, les classes CSS et les structures d'enveloppe. Elle s'intègre directement à la validation au niveau du modèle pour rendre les retours d'erreur dans la mise en page du formulaire et fournit une architecture extensible pour créer des composants de saisie personnalisés afin de répondre aux exigences d'interface spécialisées.
Provides a semantically rich form builder.
Ce projet est un système de gestion de l'apprentissage open source construit comme une application web sur le framework Frappe. Il fournit un environnement structuré pour créer, gérer et délivrer des programmes éducatifs, permettant aux administrateurs d'organiser les supports d'apprentissage en hiérarchies de cours, chapitres et leçons. La plateforme se distingue par son architecture pilotée par les métadonnées, qui définit les entités de l'application et les schémas de base de données via des définitions basées sur JSON plutôt que des classes codées en dur. Cette approche permet une personnalisation dynamique de l'interface utilisateur et des modèles de données au moment de l'exécution, soutenue par un système de hooks piloté par les événements qui permet des extensions fonctionnelles sans modifier le code principal. Le système couvre le cycle de vie complet du contenu éducatif, incluant l'ingestion de données en masse via des feuilles de calcul, l'évaluation des progrès des étudiants via des quiz et des devoirs, et la génération de titres officiels en utilisant des modèles côté serveur. Il intègre également des outils pour l'instruction en classe virtuelle en direct, permettant aux éducateurs de planifier des sessions, de gérer les présences et de coordonner l'enseignement interactif. La plateforme inclut des scripts automatisés pour un déploiement cohérent à travers des environnements d'hébergement locaux, privés ou basés sur le cloud.
Dynamically generates input forms and data views by interpreting metadata definitions at runtime.
Variant Form is a low-code platform designed for building and managing dynamic, data-driven web forms. It provides a visual drag-and-drop designer that allows users to assemble complex form layouts and configure field properties without manual markup. The system functions as a comprehensive suite for form development, integrating a runtime rendering engine that transforms structured configuration objects into functional, validated user interfaces. The project distinguishes itself through its ability to transpile visual form definitions into portable, framework-specific source code. It utilize
Manages dynamic interactions and custom validation logic to handle complex data collection requirements.
This library provides a framework for managing form state, validation, and submission logic within applications. It utilizes a centralized state container to track input values and field metadata, ensuring that user interface elements remain synchronized with data through declarative field bindings. The project is distinguished by its cross-platform abstraction layer, which decouples form logic from specific rendering environments. This allows developers to implement consistent validation rules and state management patterns that function identically across both web and mobile applications. T
Provides a cross-platform framework for building consistent form logic and validation rules across web and mobile.
WTForms
Flexible forms validation and rendering.
Ce projet est une bibliothèque de gestion d'état réactive conçue pour gérer des données de formulaire complexes et une logique de validation. Elle utilise des modèles basés sur les observables pour synchroniser les composants de l'interface utilisateur avec les modèles de données sous-jacents, garantissant que les états des formulaires restent cohérents tout au long d'une application. La bibliothèque fournit une approche structurée pour gérer l'initialisation des formulaires, le suivi des champs et les événements du cycle de vie. La bibliothèque se distingue par sa prise en charge des structures de données profondément imbriquées et de la composition hiérarchique, permettant une validation récursive et des mises à jour dynamiques au sein d'arbres d'objets complexes. Elle dispose d'un moteur de validation piloté par schéma qui prend en charge à la fois les règles synchrones et asynchrones, ainsi qu'une interception de type middleware qui permet à une logique personnalisée de surveiller ou de transformer les données lors des mises à jour des champs. Les développeurs peuvent accéder et manipuler des champs spécifiques dynamiquement en utilisant un adressage basé sur le chemin, offrant une flexibilité lors du travail avec des modèles de formulaires volumineux ou évolutifs. Au-delà de la gestion d'état de base, la bibliothèque inclut des utilitaires pour la transformation des données, tels que le formatage des valeurs d'entrée et le calcul des valeurs des champs basés sur d'autres données de formulaire. Elle offre des capacités d'orchestration multi-formulaires pour coordonner la validation et la soumission sur plusieurs instances, et elle reste découplée des couches de présentation spécifiques pour permettre l'intégration avec n'importe quelle bibliothèque de composants d'interface utilisateur. Le framework fournit également des outils intégrés pour surveiller les événements du cycle de vie des champs et déboguer les transitions d'état internes.
Organizes deeply hierarchical or dynamic form inputs into structured models that support recursive validation and automated state updates.
Field-form is a library for managing complex form state, validation, and field synchronization within React component trees. It functions as a state management solution that uses a shared provider to distribute form data and validation messages across nested components. The library distinguishes itself through a dynamic field registry that supports the addition, removal, and reordering of form controls. It employs a field-level subscription model to ensure that individual components only re-render when their specific state slices change, and it provides an imperative interface for triggering
Shares validation templates and tracks state across multiple named forms within a unified context.
Automatically load and include all common Rails form features.
Wraps form validation tools.
Autogenerates HTML input fields from model properties.