0.11.2 • Published 3 years ago

formuj v0.11.2

Weekly downloads
46
License
MIT
Repository
github
Last release
3 years ago

Formuj

Travis npm package Coveralls

Formuj is still work in progress and not production-ready, but ideas, PRs and bugfixes are most welcome.

Formuj is a delightful React form framework and set of patterns built on top of Formik.

  • Formuj is simple. The schema pattern is very easy to pick up and Formuj does not do much magic under the hood.
  • Formuj is flexible. There are many ways to inject custom behaviour into the schemas for all of your applications.
  • Formuj is battle-tested. The schema pattern has been successfully used in production enterprise applications.
  • Formuj is Formik. At the end of the day, you still have access to the underlying Formik API for complicated functionality.

Example

import React from 'react';

import Formuj, { Input } from 'formuj';
import required from './validators/required';

const handleSubmit = values => console.log(values);

const Demo = () => {
	return (
		<div>
			<Formuj
				schema={[
					{
						name: 'firstName',
						label: 'First Name',
						component: Input,
					},
					{
						name: 'lastName',
						label: 'Last Name',
						component: Input,
						validators: [required],
					},
				]}
				onSubmit={handleSubmit}
			/>
		</div>
	);
};

Another React form framework?

Formuj was designed with a specific purpose: to build complicated forms rapidly with a reusable library of form controls

When should you use Formuj?

  • Your forms consist primarily of similar components that are reused a lot.

  • Your forms have states that depend on previously entered data or validate based on previously entered data.

  • You want to use pure JS functions for validation instead of a validation library.

  • You often need to prototype forms out of reusable components quickly.

  • You are looking for an opinionated way of working with Formik.

When should you not use Formuj?

  • Your forms have a variety of different fields and rarely the same type of form control is used in more than one form.

  • Most of your validations are asynchronous.

Credits

Maintainer: @intercaetera

Honourable mention: @adam-golab (for help with initial implementation)

0.11.2

3 years ago

0.11.1

3 years ago

0.10.3

4 years ago

0.10.2

4 years ago

0.10.1

4 years ago

0.10.0

4 years ago

0.9.6

4 years ago

0.9.5

4 years ago

0.9.4

4 years ago

0.9.3

4 years ago

0.9.2

4 years ago

0.9.0

4 years ago