1.0.0 • Published 1 year ago

yup-password-validator v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

npm npm npm bundle size

NPM

yup-password-validator

A yup extension that help to validate a complex password

Requirement

Yup version: 1.x.x

Installation

Npm

npm install yup yup-password-validator

Yarn

yarn add yup yup-password-validator

Yup extend function

  • minOfUppercase(min: number, message?: string): Specifies the minimum number of uppercase string characters.
  • minOfLowercase(min: number, message?: string): Specifies the minimum number of lowercase string characters.
  • minOfNumeric(min: number, message?: string): Specifies the minimum number of numeric string characters.
  • minOfSpecialCharacters(min: number, message?: string): Specifies the minimum number of special characters.
  • noWhiteSpaces(message?: string): Specifies that the string should not contain white spaces.
  • onlyLatinCharacters(message?: string): Specifies that the string should contain only latin characters.

Usage

// example/usage.js

const yup = require('yup');
const { yupPassword } = require('yup-password-validator');

const schema = (input) =>
      yup
            .object()
            .shape({
                  username: yup.string().min(5).max(200).required(),
                  password: yupPassword
                        .minOfSpecialCharacters(2)
                        .minOfLowercase(2)
                        .minOfUppercase(2)
                        .minOfNumeric(2)
                        .noWhiteSpaces()
                        .onlyLatinCharacters()
                        .required(),
            })
            .validate(input);

const { error } = schema({ username: 'hello', password: 'AAaa@@00' });
console.log(error); // undefined

Custom error message

// example/custom.js

const yup = require('yup');
const { yupPassword } = require('yup-password-validator');

const schema = (input) =>
      yup
            .object()
            .shape({
                  username: yup.string().required(),
                  password: yupPassword
                        .minOfSpecialCharacters(4, 'custom message 1')
                        .minOfLowercase(4, 'custom message 2')
                        .minOfUppercase(5, 'custom message 3')
                        .minOfNumeric(6, 'custom message 4')
                        .noWhiteSpaces('custom message 5')
                        .onlyLatinCharacters('custom message 6')
                        .required(),
            })
            .validate(input, { abortEarly: false });

const { error } = schema({ username: 'aA', password: 'aA@0は ' });

console.log(error);
// custom message 1
// custom message 2
// custom message 3
// custom message 4
// custom message 5
// custom message 6

Other Password Validator

License

MIT