formunition
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Formunition

formunition logo

The most lightweight and flexible form library out there for React!

🐤 As tiny as 1 KB in size (gzipped)

🔀 Effortlessly works with UI component libraries

🛡️ Easy validations with RegExp and Zod

🚀 Designed with simplicity and performance in mind

Install

npm install formunition

Usage

// LoginForm.tsx

import React, { useState } from "react";
import Form, { ValidationResult } from "formunition";

export default function LoginForm() {
  const [validations, setValidations] = useState<ValidationResult>({});

  const validators = {
    email: /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/, // or z.string().email(),
    password: /.{8,}$/,
  };

  return (
    <Form
      onSubmit={console.log}
      onValidate={setValidations}
      validators={validators}
    >
      <div>
        <input type="email" name="email" placeholder="Email" />
        {validations.email === "fail" && <p>Invalid email!</p>}
      </div>
      <div>
        <input type="password" name="password" placeholder="Password" />
        {validations.password === "fail" && <p>Weak password!</p>}
      </div>
      <button type="submit">Login</button>
    </Form>
  );
}

Package Sidebar

Install

npm i formunition

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

7.22 kB

Total Files

7

Last publish

Collaborators

  • kumarasinghe