For a library for handling form data binding, the strongest matches are bluebill1049/react-hook-form (React Hook Form is a declarative React library that), unform/unform (Unform is a React form state manager that uses) and logaretm/vee-validate (Vee-validate is a form validation and state management library). jaredpalmer/formik and foxhound87/mobx-react-form round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best form data binding libraries for your project. Compare top-rated open-source tools by activity and features to pick the right one.
react-hook-form is a React form state management library and cross-platform UI hook used to manage form inputs, validation, and submission state. It functions as an uncontrolled form controller, leveraging uncontrolled components to minimize unnecessary re-renders in web and mobile environments. The library provides schema-based form validation, allowing user input to be verified against predefined rules or external schema libraries to ensure data integrity. It is designed to connect form logic to components across both React and React Native applications. The project covers the integration
React Hook Form is a declarative React library that binds form inputs to state via hooks, with built-in validation, nested and array field support, uncontrolled mode, and error display — exactly the kind of form binding tool you are looking for.
Unform is a React form state manager designed to handle the state, validation, and submission of complex user input forms. It utilizes an uncontrolled form API that minimizes re-renders by using references instead of synchronized state to manage form data. The library features a nested data mapper that organizes fields into hierarchical objects and arrays using scoping and dot notation. It also includes a custom input adapter to connect third-party UI components and non-standard inputs to the centralized form state, and a validation engine that checks submitted data against defined schemas to
Unform is a React form state manager that uses an uncontrolled API for performance, provides nested data mapping with dot notation for complex structures, includes a validation engine, and supports third-party component integration — exactly the form data binding library you're looking for.
Vee-validate is a form validation library and state management tool for Vue applications. It enables the validation of user inputs through declarative rules and tracks form metadata, including submission status and dirty states. The library functions as a wrapper for integrating external schema validation libraries to enforce consistent data shapes. It also serves as an internationalized framework for displaying translated error messages and localized feedback. The project covers broad capability areas including form state management, the handling of complex nested data structures, and the s
Vee-validate is a form validation and state management library for Vue that provides declarative rules, nested and array field support, error display, and state tracking — covering the core data binding and validation needs you're looking for.
Formik is a React form management library and state management tool. It serves as a client-side form validator for checking user entries against defined rules and managing associated error messages before submission. The library synchronizes user input values across multiple fields into a single object for retrieval and manipulates the transition of form data from initial entry through validation and final submission. It provides capabilities for tracking complex form state, managing form submissions, and validating user inputs to ensure data integrity.
Formik is a React form management library that synchronizes user input to a single state object, provides declarative field binding, validation, error handling, and supports nested data and arrays via Field, FieldArray, and hooks—exactly the kind of form data binding library you are looking for.
This project is a reactive state management library designed for handling complex form data and validation logic. It utilizes observable-based patterns to synchronize user interface components with underlying data models, ensuring that form states remain consistent throughout an application. The library provides a structured approach to managing form initialization, field tracking, and lifecycle events. The library distinguishes itself through its support for deeply nested data structures and hierarchical composition, allowing for recursive validation and dynamic updates within complex object
foxhound87/mobx-react-form is a dedicated reactive form binding library for React with MobX, providing declarative bindings, built-in validation with nested and array support, and seamless state management integration—making it an ideal fit for your search.
Angular is a platform for building web applications using a component-based architecture. It provides a comprehensive suite of tools for managing encapsulated UI units, including hierarchical dependency injection, a declarative template system, and fine-grained reactivity through signals. The framework supports complex application requirements such as client-side routing, form management, and internationalization. The project includes a command-line interface for scaffolding and build automation, alongside a testing ecosystem for unit and integration verification. It offers multiple rendering
Angular provides a full-featured form management system (Reactive and Template-driven forms) that supports declarative binding, validation, nested objects, arrays, and integration with state management (signals, services), making it a comprehensive solution for form data binding in web applications.
📝 JSON powered / Dynamic forms for Angular
ngx-formly is a JSON-powered dynamic form engine for Angular that declaratively binds form fields to a data model, with built-in validation, nested object and array/collection handling, and tight integration with Angular's state management via reactive forms—directly matching the requested library for simplifying form-to-model binding.
Ractive is an open-source JavaScript framework for building reactive user interfaces where the DOM automatically updates when underlying data changes. It is fundamentally a declarative data binding library that synchronizes data between the model and the view, enabling two-way binding without manual DOM manipulation, and operates as a template-based component system for composing markup, styles, and logic into reusable UI components. The framework distinguishes itself through a plugin-extensible architecture that allows custom components, adaptors, and extensions to be registered without modi
Ractive is a declarative data binding library that synchronizes data between the model and the view, making it suitable for binding form inputs to state, though it lacks built-in form validation and error handling features.
This project is a declarative framework for building reactive user interfaces by embedding logic directly into HTML markup. It functions as a lightweight state container that tracks data changes and automatically synchronizes the document object model with the underlying application state. By utilizing proxy-based observation, it ensures that interface updates occur precisely when reactive properties are modified. The framework distinguishes itself by allowing developers to define interactive behavior through custom attributes rather than external scripts. This approach enables the compositio
Alpine.js is a lightweight reactive UI framework that uses declarative attributes for form input binding (x-model) and state management, making it a genuine form data binding library even if it lacks built-in validation or uncontrolled mode support.
Backbone Forms is a schema-driven library designed to automate the generation and validation of HTML forms within the BackboneJS ecosystem. It functions as a framework for building data entry interfaces that bind directly to application models, ensuring data integrity through a combination of schema-level rules and model-level constraints. The library distinguishes itself through a modular architecture that supports the creation of custom input editors and the use of pluggable HTML templates. This allows for the management of complex, hierarchical data structures, including nested objects and
Backbone-forms is a form framework for BackboneJS that provides declarative binding, validation, nested forms, and editable lists — fitting the search for a frontend form-binding library, though it is specific to Backbone models.
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
TanStack Form is a cross-framework form state management library with typed fields, validation, and granular state subscription, fitting the search for a form data binding library by providing declarative binding, validation, and seamless state management integration across multiple UI frameworks.
A ClojureScript library to provide form data bindings for Reagent, see here for a live demo.
reagent-forms is a ClojureScript library that provides form data bindings for the Reagent React wrapper, so it is exactly the kind of tool requested—a form data binding library—but it is specific to ClojureScript/Reagent and its description does not confirm the full set of features like validation or nested data support.
JavaScript powered forms for Vue.js
Vue Formly is a Vue.js library that uses JSON schemas to declaratively bind form inputs to data models with built-in validation and nested data support, making it a solid fit for simplifying form-data binding in Vue applications.
Angular project for dynamic forms based on JSON
This Angular library generates forms from JSON configuration to automatically bind inputs to a data model, making it a declarative form data binding tool, though its feature set (validation, nested data) depends on the JSON schema used.
| Repositorio | Estrellas | Lenguaje | Licencia | Último push |
|---|---|---|---|---|
| bluebill1049/react-hook-form | 44.8K | TypeScript | MIT | |
| unform/unform | 4.4K | TypeScript | MIT | |
| logaretm/vee-validate | 11.3K | TypeScript | MIT | |
| jaredpalmer/formik | 34.3K | TypeScript | Apache-2.0 | |
| foxhound87/mobx-react-form | 1.1K | TypeScript | MIT | |
| angular/angular | 100.4K | TypeScript | MIT | |
| ngx-formly/ngx-formly | 3K | TypeScript | MIT | |
| ractivejs/ractive | 5.9K | JavaScript | MIT | |
| alpinejs/alpine | 31.7K | HTML | MIT | |
| powmedia/backbone-forms | 2.2K | JavaScript | MIT |