UNPKG

form-validate-av

Version:

React Form Validator

124 lines (95 loc) 3.28 kB
# form-validate-av ![NPM Version](https://img.shields.io/npm/v/form-validate-av) ![License](https://img.shields.io/npm/l/form-validate-av) ![Downloads](https://img.shields.io/npm/dt/form-validate-av) ## Description `form-validate-av` is a lightweight and easy-to-use form validation library for React applications. It helps in handling client-side form validation efficiently with minimal setup. ## Installation You can install `form-validate-av` using npm: ```sh npm install form-validate-av ``` Or using yarn: ```sh yarn add form-validate-av ``` ## Usage Here’s a basic example of how to use `form-validate-av` in a React project: ```jsx import React, { useState } from "react"; import { validateForm } from "form-validate-av"; const MyForm = () => { const [formData, setFormData] = useState({ email: "", password: "" }); const [errors, setErrors] = useState({}); const rules = { email: { required: true, email: true }, password: { required: true, minLength: 6 } }; const handleChange = (e) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; const handleSubmit = (e) => { e.preventDefault(); const validationErrors = validateForm(formData, rules); if (Object.keys(validationErrors).length === 0) { alert("Form submitted successfully"); } else { setErrors(validationErrors); } }; return ( <form onSubmit={handleSubmit}> <input type="email" name="email" placeholder="Email" value={formData.email} onChange={handleChange} /> {errors.email && <p>{errors.email}</p>} <input type="password" name="password" placeholder="Password" value={formData.password} onChange={handleChange} /> {errors.password && <p>{errors.password}</p>} <button type="submit">Submit</button> </form> ); }; export default MyForm; ``` ## Features - Simple and lightweight. - Supports validation for required fields, email format, minimum and maximum lengths, and more. - Easily integrates with React applications. - Customizable validation rules. ## API Reference ### `validateForm(data, rules)` - `data`: An object containing form field values. - `rules`: An object defining validation rules for each field. - Returns an object with validation errors (if any). #### Supported Validation Rules | Rule | Description | |------------|-------------| | `required` | Ensures the field is not empty | | `email` | Validates the email format | | `minLength` | Checks for a minimum character length | | `maxLength` | Checks for a maximum character length | | `pattern` | Validates using a custom regex pattern | ## Contributing Contributions are welcome! If you find any issues or have suggestions, feel free to open an issue or submit a pull request. ## License This package is licensed under the [ISC License](LICENSE). ## Author **Rishav Bhardwaz** GitHub: [@rishav-bhardwaz](https://github.com/rishav-bhardwaz) NPM: [form-validate-av](https://www.npmjs.com/package/form-validate-av) ## Links - NPM Package: [form-validate-av](https://www.npmjs.com/package/form-validate-av) - Repository: [GitHub](https://github.com/rishav-bhardwaz/form-validate-av)