use-state-validate
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

use-state-validate

Version npm

NPM

Repo: https://gitlab.com/tkil/use-state-validate


📖 Documentation 📖


Install

# npm
npm install use-state-validate
# yarn
yarn add use-state-validate
# pnpm
pnpm install use-state-validate
  import useStateValidate from 'use-state-validate'; // ESM
  // or
  const useStateValidate = require('use-state-validate'); // CJS

Summary

This package is a custom hook that extends useState to provide validation. use-state-validate is strictly focused on the validation of field values and does not try to handle every facet of form logic. Great effort was spent to make the utility razor thin to help you keep your overall bundle size small.

Basic Use

import useStateValidate, { ruleEmail } from "use-state-validate"

export const SomeComponent = () => {
  const field = useStateValidate("", {
    label: "Email",
    required: true,
    cueDelay: 0,
    rules: [[ruleEmail(), "Email must be in a valid format"]],
  })

  return (
      <form>
        <label htmlFor="email">Email</label>
        <input
          id="email"
          aria-invalid={field.cueInvalid || undefined}
          value={field.value}
          onChange={(e: React.ChangeEvent<HTMLInputElement>) => field.setValue(e.target.value)}
        />
        {field.cueInvalid && <div aria-live="polite">{field.errors[0]}</div>}
      </form>
  )
}

See Documentation for full usage and API.

Package size @ Bundlephobia

Changelog

  • v3.0.1 - Fixes ruleLength bug on min logic.
  • v3.0.0 - Overhaul, leans heavy on cuing concepts for smooth UX. Lib made leaner and more flexible.
  • v2.5.4 - Bugfix - required, message type
  • v2.5.1 - Bugfix
  • v2.4.0 - Adds name to IStateValidateRules and validation wrapper
  • v2.3.0 - Exposes IStateValidateRules
  • v2.2.0 - Adds types to rules object
  • v2.1.0 - Adds types to validation wrapper
  • v2.0.3 - React version bugfix
  • v2.0.0 - Drops 3rd party dep and this project does its own validation
  • v1.0.6 - No breaking changes, but departs from 3rd party dep
  • v1.0.5 - Fixes bug where clean used after set does not honor set's mutation
  • v1.0.1 - v1.0.4 - Readme updates - no code changes
  • v1.0.0 - Hook has been stable in projects, bumping to initial release
  • v0.0.x - Initial dev release - ASSUME UNSTABLE

Package Sidebar

Install

npm i use-state-validate

Weekly Downloads

3,125

Version

3.0.1

License

MIT

Unpacked Size

15.2 kB

Total Files

8

Last publish

Collaborators

  • tkil