React Hook Form

📋 React Hooks for form state management and validation (Web + React Native)
Alternatives To React Hook Form
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
React Hook Form33,9831271,337a day ago951September 23, 202211mitTypeScript
📋 React Hooks for form state management and validation (Web + React Native)
Redux Form12,61311,7811,24322 days ago235November 17, 2021492mitJavaScript
A Higher Order Component using react-redux to keep form state in a Redux store
Eureka11,588
4908 days ago27September 15, 2020170mitSwift
Elegant iOS form builder in Swift
Vee Validate9,6262,1907352 days ago282September 19, 202248mitTypeScript
✅ Painless Vue forms
Formily9,3341195 days ago209September 20, 202211mitTypeScript
📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3
Parsley.js9,045329415 months ago47December 10, 201969mitJavaScript
Validate your forms, frontend, without writing a single line of javascript
React Final Form7,21750038423 days ago76April 01, 2022385mitJavaScript
🏁 High performance subscription-based form state management for React
Tcomb Form Native3,162499186 months ago53October 11, 2018128mitJavaScript
Forms library for react-native
Formkit2,60913a day ago144September 23, 202248mitTypeScript
Vue Forms ⚡️ Supercharged
Formsy React2,59922 years ago1November 27, 2015149mitJavaScript
A form input builder and validator for React JS
Alternatives To React Hook Form
Select To Compare


Alternative Project Comparisons
Readme

npm downloads npm npm Discord

Get started | API | Form Builder | FAQs | Examples

Features

Install

npm install react-hook-form

Quickstart

import { useForm } from 'react-hook-form';

function App() {
  const {
    register,
    handleSubmit,
    formState: { errors },
  } = useForm();

  return (
    <form onSubmit={handleSubmit((data) => console.log(data))}>
      <input {...register('firstName')} />
      <input {...register('lastName', { required: true })} />
      {errors.lastName && <p>Last name is required.</p>}
      <input {...register('age', { pattern: /\d+/ })} />
      {errors.age && <p>Please enter number for age.</p>}
      <input type="submit" />
    </form>
  );
}

Sponsors

Thanks go to these kind and lovely sponsors!

Backers

Thanks go to all our backers! [Become a backer].

Contributors

Thanks go to these wonderful people! [Become a contributor].

Popular Validation Projects
Popular Form Projects
Popular Data Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
Reactjs
Validation
Form
Builder
Form Builder