2.1.0 • Published 4 years ago

use-reactive-form-validator v2.1.0

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

use-reactive-form-validator

NPM JavaScript Style Guide

Install

npm install --save use-reactive-form-validator

Usage

import * as React from 'react'

import { useReactiveFormValidator } from 'use-reactive-form-validator'

const Example = () => {
  
  const { 
    requirement, 
    validateValue, 
    validateValues 
  } = useReactiveFormValidator()
  

  useEffect(() => {

    // Validate Single Value
    const validateEmail = validateValue('invalid-email', [
      requirement.required(),
      requirement.email(),
      requirement.minCharacter(5),
      requirement.maxCharacter(20, 'Override default message'),
      
      // Add Custom validation
      {
        validate: (value) => !(value.includes('.yahoo')),
        message: "Please use Gmail"
      }      
    ]);
    console.log(validateEmail);
    // {
    //   "valid": false,
    //   "errors": [
    //     "Invalid Email",
    //     "Max 10: Override default message",
    //     "Please use Gmail"
    //   ]
    // }

    // Validate Object or Nested Object
    const formData = {
      name: "Joe",
      age: 15,
      address: {
        city: ""
      }
    }

    const formRequirements = [
      name: [ requirement.required() ],
      age: [ requirement.minValue(18, "You are underage") ],
      address: { city: [ requirement.required('Please enter City') ] }
    ];
    const validateForm = validateValue(formData, formRequirements);

    console.log(validateForm);
    // {
    //   "valid": false,
    //   "result": {
    //     "name": {
    //       "valid": true,
    //       "errors": []
    //     },
    //     "age": {
    //       "valid": false,
    //       "errors": [
    //         "You are underage"
    //       ]
    //     },
    //     "address": {
    //       "city": {
    //         "valid": false,
    //         "errors": [
    //           "Please enter City"
    //         ]
    //       }
    //     }
    //   }
    // }


  }, [])

  return (
    <div>
      Form Validator
    </div>
  )
}

License

MIT © jenersigua31


This hook is created using create-react-hook.

2.1.0

4 years ago

2.0.0

4 years ago

1.0.0

4 years ago