🚀 DAY 5 OF LAUNCH WEEK:Introducing Webhook Events for Alert Changes.Learn more →
Socket
Book a DemoInstallSign in
Socket

statedawei

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

statedawei

## Getting Started

latest
npmnpm
Version
0.4.0
Version published
Maintainers
1
Created
Source

StateDawei

Getting Started

install libraries

npm i dawei statedawei

Examples

Basic setup for a form

import { useForm } from 'statedawei';

function App() {
  const { register, handleSubmit, commit, isDirty, touched } = useForm();

  function onSubmit(values) {
    console.log(values);

    commit(); // reset touched and defaults to current value
  }

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input name="name" {...register('name')} />
      <input name="age" type="number" {...register('age')} />
      <input type="checkbox" {...register('check', { default: true })} />
      <button type="submit" disabled={!isDirty} />
    </form>
  );
}

Validation

basic form with some validation

import { useForm } from 'statedawei';

function validate(values, setError) {
  const { name, age } = values;
  if (age < 21) setError('age', 'Must be at least 21');
  if (!name.length) setError('name', 'required');
}

function App() {
  const { register, handleSubmit, commit, isDirty, touched } = useForm({ validate });

  function onSubmit(values) {
    console.log(values);

    commit(); // reset touched values, errors and sets defaults to current values
  }

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input name="name" {...register('name')} />
      <input name="age" type="number" {...register('age')} />
      <input type="checkbox" {...register('check', { default: true })} />
      <button type="submit" disabled={!isDirty} />
    </form>
  );
}

API

result = useForm(options:)

options:

  • validate(values, setError) => void;
    • values - the current form values
    • setError(path, error)
      • path - the path to the name ex 'name'
      • error - the validation message to be shown

useForm result

  • register(name, options)
    • register an input, returns { onChange, onBlur }
    • arguments
      • name - name for input
      • options
        • default: default value for input
  • handleSubmit(onSubmit)
    • pass into form onSubmit
    • arguments
      • onSubmit(values)
        • called when submitted after validation
        • values - all values in form
  • commit()
    • after submitting a form you can call this to commit the changes
    • resets touched values
    • resets errors
    • sets isDirty to false
    • sets defaultValues to current values
  • touched()
    • shows which inputs have been touched
      • returns key value pairs
        • [input name]: boolean
  • isDirty()
    • returns a boolean indicating whether the form is dirty or not
  • errors()
    • shows all errors that currently exist in the form
      • returns key value pairs
        • [input name]: <error message>

FAQs

Package last updated on 29 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts