formMOD
react-cool-form
formMOD | react-cool-form | |
---|---|---|
14 | 2 | |
37 | 245 | |
- | - | |
0.7 | 5.6 | |
about 1 year ago | almost 2 years ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
formMOD
-
Create React forms in a few minutes.
https://github.com/nickorsk2017/formMOD What do you think about this system? Thank you!
-
Why you need a new library for forms on React?
import { Form, Field } from ‘react-final-form’; … … ( Bio {meta.touched && meta.error && {meta.error}} )} /> …
What issue??
- If you currently have a project you need to redoing all your UI components to specific syntax.
- Until today a developers have millions UI libraries.Why can't you just install it and use it?You must make a wrapper components, adapt logic to use library.
We calculated time for redoing a large app.
It need about from few months to fixing bugs, changing syntax…
For a business it crazy huge.
Example 3
import { useForm } from ‘react-hook-form’; … const { register, handleSubmit, errors } = useForm(); … return ( … {errors.lastname && 'Last name is required.’} … );
What issue?
Problem is specific syntax inside UI component.
At first glance short syntax is good.
But you can do it easy without libraries.
const props = helper({…});
Solution
When you need to think about a form library at first moment?
Yes, when you need a validations.
A form library only must know about data.
For example, that a data row is valid or not.
- Not about your app structure.
- Not about JSX or UI components inside.
- Not about UI logic.
A form system must be abstract. It's like a smart useState().
You should make your app easy, just connect your components to data.
How it can look.
After long analyse we decided to make our library.
For creating your forms you need two simple steps:
- Define a scheme which describes validation and some properties of form data.
- Connect your scheme via methods to your UI components.
Scheme
// scheme.ts export default { valid: null, formValue: { first_name: "", last_name: "", }, rules: { full_name: [ ["empty", "please enter your full name"] ], email: [ ["empty", "please enter your email"], ["email", "is not email"], ] } }
Form
//MyForm.ts import {useFormMod} from "formmod"; export const MyForm = () => { const {setValue, getValue, getError, validate} = useFormMod( FORM_SCHEME ); return ( … setValue("full_name", value)} /> … );
Full documentation :
https://doc.formmod.org/
**WE RECOMMEND TO USE LAPTOP OR DESKTOP DEVICE FOR READING DOCUMENTATION.
Advantages:
- No dependencies. This is the power of simple work.This form system don’t know about your components, JSX, your app, store…You can use it with any UI components. No longer need to make wrappers components, understanding JSX syntax.Just use it with anything.
- Easy system, easy code. It’s very simple.
- Save time. Just connect properties to your components.
Important
We have finished our library recently.
Until today we have 151 commits, 14 releases in our repository and this is just the beginning of the work.
We started work with community, fixing documentation.
We need your support, just set a star in gitHub here:
https://github.com/nickorsk2017/formMOD
Other features
Also our library can work with optional, group, composite components.
It has described work with CRUD, store (about mutable data) and more.
It is absolutely free (MIT).
We are working for world community.
We want to make development easer for everybody.
Thank you for reading!
{meta.touched && meta.error && {meta.error}}
)}
/>
…
What problem??
- If you currently have a project you need to redoing all your UI components to specific syntax.
- Until today a developers have millions UI libraries.
Why can't you just install it and use it?
You must make a wrapper components, adapt logic to use library.
We calculated time for redoing a large app.
It need about from few months to fixing bugs, changing syntax…
For a business it crazy huge.
Example 3
import { useForm } from ‘react-hook-form’;
…
const { register, handleSubmit, errors } = useForm();
…
return (
…
{errors.lastname && 'Last name is required.’}
…
);
What problem?
A specific syntax inside UI component.
At first glance short syntax is good.
But you can do it easy without libraries.
const props = helper({…});
Solution
When you think about form library at first moment?
Yes, when you need a validations.
The form library only must know about data.
For example, that a data row is valid or not.
- Not about your app structure.
- Not about JSX or UI components inside.
- Not about UI logic.
You should make your app easy, just connect your components to data.
How it can look.
After long analyse we decided to make our library.
For creating your forms you need two simple steps:
Define a scheme which describes validation and some properties of form data.
Connect your scheme via methods to your UI components.
Scheme
// scheme.ts
export default {
valid: null,
formValue: {
first_name: "",
last_name: "",
},
rules: {
first_name: [
["empty", "please write your first name"]
],
last_name: [
["empty", "please write your last name"]
]
}
}
Form
//MyForm.ts
import {useFormMod} from "formmod";
export const MyForm = () => {
const {setValue, getValue, getError, validate} = useFormMod(
FORM_SCHEME
);
return (
…
label={"First name"}
value={getValue("first_name")}
error={getError("first_name")}
onChange={(value: string) => setValue("first_name", value)}
/>
…
);
Advantages:
- No dependencies. This is the power of simple work.
This form system don’t know about your components, JSX, your app, store…
You can use it with any UI components.
No longer need to make wrappers components, understanding JSX syntax.
Just use it with anything. - Easy system, easy code. It’s very simple.
- Save time. Just connect properties to your components.
Important
We have finished our library recently.
Until today we have 151 commits, 14 releases in our repository and this is just the beginning of the work.
We started work with community, fixing documentation.
We very need your support, just set a star in gitHub here:
https://github.com/nickorsk2017/formMOD
Full documentation for Heroes:
https://doc.formmod.org/
Other features
Also our library can work with optional, group, composite components.
It has described working with CRUD, store, data and more.
It is absolutely free.
We are working for world community.
We want to make development easer for everybody.
Thank you for reading!
-
React.js. Complex react forms are easy. The FormMOD is new library for react forms.
We really need your support, set a star on github here: https://github.com/nickorsk2017/formMOD
react-cool-form
-
✨ How you build forms with Material-UI? This is the way I do. Link in the first comment.
Demo link: https://react-cool-form.netlify.app/docs/examples/material-ui Form library: https://github.com/wellyshen/react-cool-form
-
Building route-based wizard forms could be Fun 🥳
u/Relevant-Magic-Card Yes, it can. If you don't mind, leave an issue to me for that kind of example on this repo: https://github.com/wellyshen/react-cool-form. I will let you know when the example is created.
What are some alternatives?
react-bare-forms - A bare minimal React form library for quick & simple forms.
typebot.io - 💬 Typebot is a powerful chatbot builder that you can self-host.
under-control - 📝 🐕 Are you losing sanity every time you need to make a form? Are you have enough of all antipatterns and cursed frameworks in React? Screw that! Treat all forms and inputs as a recursive composable control!
svelte-forms - Svelte forms validation made easy
usetheform - React library for composing declarative forms, manage their state, handling their validation and much more.
vazco/uniforms - A React library for building forms from any schema.
async-sema - Semaphore using `async` and `await`
form - 🤖 Powerful and type-safe form state management for the web. TS/JS, React Form, Solid Form, Lit Form and Vue Form.
react-jsonschema-form - A React component for building Web forms from JSON Schema.
eventrix - Open-source, Predictable, Scaling JavaScript library for state managing and centralizing application global state. State manage system for react apps.
backstage-plugin-opsgenie - OpsGenie plugin for Backstage
react-hook-form - 📋 React Hooks for form state management and validation (Web + React Native)