New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

use-state-validate

Package Overview
Dependencies
Maintainers
1
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-state-validate

Clean featherweight state validation

  • 3.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

Keywords

FAQs

Package last updated on 22 Aug 2023

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc