0.0.3 • Published 3 years ago

mero-react-form v0.0.3

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

Mero React Form

Simple react form

NPM JavaScript Style Guide

Install

npm install --save mero-react-form
# Or
yarn add mero-react-form

Usage

import React from 'react'
import * as yup from 'yup'

import { InputField, useMeroForm } from 'mero-react-form'

const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms))

const schema = yup.object().shape({
  name: yup.string().required('Name required'),
  address: yup.string().min(18, 'Must be at least 18 len')
})

const App = () => {
  const { values, handleSubmit, errors, removeError } = useMeroForm({
    initialValues: {
      name: '',
      address: ''
    },
    validationSchema: schema,
    onSubmit: async ({ values }) => {
      console.log({ name: values.name, address: values.address })
      await sleep(1000)
      alert(JSON.stringify(values, null, 2))
    }
  })

  return (
    <>
      <form onSubmit={handleSubmit}>
        <div>
          <InputField name='name' value={values.name} className='name-input' />
          <div> {errors.name ? errors.name : null}</div>
        </div>
        <div>
          <InputField
            name='address'
            value={values.address}
            className='address-input'
            onKeyUp={removeError}
          />
          <div> {errors.address ? errors.address : null}</div>
        </div>
        <button type='submit'>Submit</button>
      </form>
    </>
  )
}

export default App

License

MIT © shrijan00003

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago

1.0.0

3 years ago