@per-form/react
TypeScript icon, indicating that this package has built-in type declarations

0.3.1 • Public • Published

@per-form/react

@per-form/react Logo @per-form/react Logo

Fast and easy form validation for React based on native HTML capabilities

Documentation

NPM Version GitHub License npm bundle size

Features

  • ☯ Very easy to use
  • 🚀 Really fast
  • 🏋 Extra small bundle size
  • 🤯 Can works without any state
  • 💅 Native and customizable errors
  • 👯 Multiple validation modes
  • 📑 Custom validation with
    • 🎉 Cross inputs validation
    • 😎 Async validation
    • 🔥 Support dynamic form
  • 💬 Custom messages / translations
  • 💯 Fully tested
  • 📚 Support controlled components and UI libraries
  • ⚡️ Compatible with Next.js server actions
  • 👀 Watch values
  • 💪 And much more...

Install

# npm
npm install react-hook-form
# yarn
yarn add react-hook-form
# pnpm
pnpm install react-hook-form

Usage

With hook

import type { FormEvent } from 'react';
import { type IFormValues, useForm } from '@per-form/react';

export default function Demo() {
  function handleSubmit(e: FormEvent<HTMLFormElement>, values: IFormValues) {
    console.log(values);
  }

  const { formProps } = useForm({
    onSubmit: handleSubmit,
  });

  return (
    <form {...formProps}>
      <input name="text" required />
      <button type="submit">Submit</button>
    </form>
  );
}

Or with component

import type { FormEvent } from 'react';
import { Form, type IFormValues } from '@per-form/react';

export default function Demo() {
  function handleSubmit(e: FormEvent<HTMLFormElement>, values: IFormValues) {
    console.log(values);
  }

  return (
    <Form onSubmit={handleSubmit}>
      <input name="text" required />
      <button type="submit">Submit</button>
    </Form>
  );
}

Check the documentation for more.

Examples

Check the example App.

Clone this repo and then run:

npm i
npm run dev

Package Sidebar

Install

npm i @per-form/react

Weekly Downloads

0

Version

0.3.1

License

MIT

Unpacked Size

711 kB

Total Files

108

Last publish

Collaborators

  • tonai