1.0.0-alpha.21 • Published 3 years ago

@formfield/react v1.0.0-alpha.21

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

React-form-field

A form state management library with component based and declarative error validation.

Install

 npm install @formfield/react

Quick Start

Edit react-form-field-signup

import { Form, FormField,FormRules  } from "@formfield/react";

export default function App() {


  const onSubmit = (data) => {
    console.log(data)
  };

  return (
    <div className="App">
      <Form
       onSubmit={onSubmit}
       initialValues={{
         email: "",
         password: "",
         confirmPassword: "",
         profilePictire: []}}
         >
        <FormField
          name="email"
          rules={[
            FormRules.required("Email is required"),
            FormRules.email("Enter a correct email")
           ]}

        >
          {({ fieldErrors,getFieldProps}) => (
            <label>
              Email:
              <input
                 {...getFieldProps()}
                type="email"
              />
             <p>{fieldErrors}</p>
            </label>
          )}
        </FormField>
        <FormField
          name="password"
          rules={[
            FormRules.required("Password is required"),
            FormRules.password("Password shoudl at least have six characters and one uppercase character")
          ]}

        >
          {({ getFieldProps,fieldErrors }) => (
            <label>
              Password:
              <input
                {...getFieldProps()}
                type="password"
              />
              <p>{fieldErrors}</p>
           </label>

          )}
        </FormField>
        <FormField
          name="confirmPassword"
          rules={[
             FormRules.required("Confirm password is required"),
             FormRules.password("Password should at least have six characters and one uppercase character")
             FormRules.sameAs("password", "Confirm password should match")
            ]}
        >
          {({ getFieldProps,fieldErrors}) => (
            <label>
              Confirm Password:
              <input
                type="password"
                { ...getFieldProps()}
              />
              <p>{fieldErrors}</p>
            </label>
          )}
        </FormField>
        <FormField
          name="profilePicture"
          rules={[
              FormRules.required("Profile picture is required"),
              FormRules.imageMimeTypes(["jpg", "jpeg"],"Only jpg and jpeg images are allowed")
            ]}
        >
          {({ fieldHandler,fieldErrors,fieldName }) => (
            <label>
              Profile Picture:
              <input
                onChange={fieldHandler}
                type="file"
                name={fieldName}
              />
               <p>{fieldErrors}</p>
            </label>
          )}
        </FormField>
        <button type="submit">
          Sign Up
        </button>
      </Form>
    </div>

 }
1.0.0-alpha.19

3 years ago

1.0.0-alpha.16

3 years ago

1.0.0-alpha.15

3 years ago

1.0.0-alpha.18

3 years ago

1.0.0-alpha.17

3 years ago

1.0.0-alpha.21

3 years ago

1.0.0-alpha.20

3 years ago

1.0.0-alpha.14

4 years ago

1.0.0-alpha.9

4 years ago

1.0.0-alpha.8

4 years ago

1.0.0-alpha.7

4 years ago

1.0.0-alpha.6

4 years ago

1.0.0-alpha.10

4 years ago

1.0.0-alpha.5

4 years ago

0.0.1-alpha.4

4 years ago

1.0.0-alpha.4

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.2

4 years ago

0.0.1-alpha.3

4 years ago

1.0.0-alpha.1

4 years ago

1.0.0-alpha.12

4 years ago

1.0.0-alpha.11

4 years ago

1.0.0-alpha.13

4 years ago

0.0.1-alpha.2

4 years ago

0.0.1-alpha.1

4 years ago