??English, ?? 简体中文, ?? 日本語, ??한국어, ??Français, ??Italiano, ??Português, ??Español, ??Русский
Features
- Built with performance and DX in mind
- Embrace uncontrolled form validation
- Improve controlled form's performance
- Tiny size without any dependency
- Follows HTML standard for validation
- Compatible with React Native
- Supports Yup, Joi, Superstruct or custom
- Supports native browser validation
- Build forms quickly with the form builder
Install
$ npm install react-hook-form
Links
Quickstart
import React from 'react';
import { useForm } from 'react-hook-form';
function App() {
const { register, handleSubmit, errors } = useForm(); // initialise the hook
const onSubmit = data => {
console.log(data);
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input name="firstname" ref={register} /> {/* register an input */}
<input name="lastname" ref={register({ required: true })} />
{errors.lastname && 'Last name is required.'}
<input name="age" ref={register({ pattern: /\d+/ })} />
{errors.age && 'Please enter number for age.'}
<input type="submit" />
</form>
);
}
Backers
Thanks goes to all our backers! [Become a backer].
Contributors
Thanks goes to these wonderful people. [Become a contributor].