react-nitro-form
v1.0.2
Published
A lightweight React form handling library
Downloads
11
Maintainers
Readme
# react-nitro-form
react-nitro-form is a lightweight React form handling library that helps you manage forms in React applications easily. It provides a simple API to handle form state, validation, and submission.
## Installation
You can install react-nitro-form using npm or yarn:
```bash
npm install react-nitro-form
or
yarn add react-nitro-form
Usage
Basic Example
Here's a basic example of how to use react-nitro-form in your React application:
import React from 'react';
import { useForm, required, minLength } from 'react-nitro-form';
const App = () => {
const initialValues = { name: '', email: '', password: '' };
const handleSubmit = (values) => {
console.log('Form values:', values);
// Handle form submission logic here
};
const validate = {
name: required,
email: required,
password: minLength(6),
};
const { values, handleChange, handleSubmit: handleFormSubmit } = useForm(initialValues, handleSubmit);
return (
<div className="App">
<h1>React Nitro Form: Example</h1>
<form onSubmit={handleFormSubmit}>
<div>
<label>
Name:
<input type="text" name="name" value={values.name} onChange={handleChange} />
</label>
{validate.name && validate.name(values.name) && <p style={{ color: 'red' }}>{validate.name(values.name)}</p>}
</div>
<div>
<label>
Email:
<input type="email" name="email" value={values.email} onChange={handleChange} />
</label>
{validate.email && validate.email(values.email) && <p style={{ color: 'red' }}>{validate.email(values.email)}</p>}
</div>
<div>
<label>
Password:
<input type="password" name="password" value={values.password} onChange={handleChange} />
</label>
{validate.password && validate.password(values.password) && <p style={{ color: 'red' }}>{validate.password(values.password)}</p>}
</div>
<button type="submit">Submit</button>
</form>
</div>
);
};
export default App;
Validators
react-nitro-form provides a set of built-in validators that you can use to validate your form fields.
required
Checks if a field is not empty.
import { required } from 'react-nitro-form';
const validate = {
name: required,
};
minLength
Checks if a field has a minimum length.
import { minLength } from 'react-nitro-form';
const validate = {
password: minLength(6),
};
Development
To build the project, you can use the following command:
npm run build
This will use Rollup to bundle the project.
Contributing
If you'd like to contribute to react-nitro-form, please fork the repository and use a feature branch. Pull requests are warmly welcome.
License
react-nitro-form is released under the MIT license. See LICENSE
for more information.
Author
Hasan Hafizur Rahman