- 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.
- Define a scheme which describes validation and some properties of form data.
- Connect your scheme via methods to your UI components.
- 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.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
import { Form, Field } from ‘react-final-form’; … … ( Bio {meta.touched && meta.error && {meta.error}} )} /> …
What issue??
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:
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:
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!