1.2.5 • Published 5 years ago

context-form v1.2.5

Weekly downloads
8
License
MIT
Repository
github
Last release
5 years ago

README

Form Management for React & React Native with a simple and flexible API.
Demo: https://youshido.github.io/context-form/demo/
Docs: https://youshido.github.io/context-form/

Thanks to the Context API (as of React 16.3) it is possible to write a library for the Form Management with a very clean and almost invisible API where you don't have to pass Form's props all over your project.

Main Features

  • Declarative API with no need for extra props passing
  • InitialValues as a simple prop to the <Form initialValues={} />
  • Controlled and Uncontrolled Form State
  • Field Arrays and Groups with custom JSX/Fields structure
  • Easy to implement Custom Controls
  • Support for the complex JSX structure inside the Form
  • Themes support — implement project-wide styling in a single file
  • Ready to go integrations with Bootstrap, Ant and Material UI
  • And it's simply a <Form /> that's fun to use :)

Installation

Add context-form package to your project using yarn or npm:

$ yarn add context-form (or npm i context-form)

Once you installed Context Form as a dependency you can try it out with this basic example of the uncontrolled form (note, it uses console to log the values submitted and does automatic field validation for a title field (required is just a shortcut for the more extensive rules props)

Once you installed Context Form as a dependency you can try it out with this basic example of the uncontrolled form (note, it uses console to log the values submitted and does automatic field validation for a title field (required is just a shortcut for the more extensive rules props):

import React, { Component } from 'react';
import Form, { Field, FormFooter } from 'context-form';

class ProductPage extends Component {
    /**
     * By default `onSubmit` will be called only if validation
     */
    onSubmit = ({ values }) => {
        console.log('Form Values', values);
    };
    render() {
        return (
            <Form onSubmit={this.onSubmit}>
                <Field name="firstName" />
                <Field name="lastName" />
                <Field name="title" required />
                // FormFooter is used just for layout purpose
                <FormFooter>
                    <button>Submit</button>
                </FormFooter>
            </Form>
        )
    }
}

You can now take a look at the more advances usage in the docs: https://youshido.github.io/context-form/

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.0

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.52

6 years ago

1.0.51

6 years ago

1.0.50

6 years ago

1.0.49

6 years ago

1.0.48

6 years ago

1.0.47

6 years ago

1.0.46

6 years ago

1.0.45

7 years ago

1.0.44

7 years ago

1.0.43

7 years ago

1.0.42

7 years ago

1.0.41

7 years ago

1.0.40

7 years ago

1.0.39

7 years ago

1.0.38

7 years ago

1.0.37

7 years ago

1.0.36

7 years ago

1.0.35

7 years ago

1.0.34

7 years ago

1.0.33

7 years ago

1.0.32

7 years ago

1.0.31

7 years ago

1.0.30

7 years ago

1.0.29

7 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago