npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@devardha/former.js

v1.1.0

Published

A simple, flexible, and easy-to-use form validator for javascript

Downloads

3

Readme

FORMER.JS Form Validator

contributions welcome npm (scoped) npm

Former.js is a simple, flexible, and easy-to-use form validator for javascript.

Getting started

Installation

$ npm install @devardha/former.js

Usage

former.check provides you the easy way to validate an input (string, number, boolean). former.check will return an error code (string) if the given value is invalid.

Syntax

former.check.string(input, [options]) // String validation
former.check.boolean(input) // Boolean validation
former.check.number(input) // Number/integer validation
  • input

    • Type: string, boolean, or number
    • The input value you want to validate
  • options (optional)

    • Type: Object
    • The options object to specify the input validation.

Options

options for string:

  • type (string) - for now, only support type 'email' and 'image'
  • max (number)
  • min (number)
  • whitespace (boolean) - Default: true
// String validation
former.check.string('this is a string') // it will return the string if valid

// Number validation
former.check.number(5)

// Boolean validation
former.check.boolean(true)

// Email validation
// To validate an email, you must specify the type
former.check.string('[email protected]', { type: 'email' })

// Image validation
former.check.string('image.jpg', { type: 'image' })

Form validation

You can also validate a form data in object using validate() method.

former.validate([formObject], [callback])
  • formObject

    • Type: Object
    • The data you want to validate
  • callback

    • Type: Function
    • A callback to be fired once the data has been validated.

Custom error message

former.js support custom error message for form validation using former.errorHandler().

former.errorHandler(err, [errorMessage]);
  • err

    • Type: String
    • Error data
  • errorMessage (optional)

    • Type: Object
    • Custom error message

Simple example

const email = former.check.string('invalidemail@email', { type: 'email' }
former.errorHandler(email, { emailError: 'Email address is invalid!' })
// => Email address is invalid!

Default error message

former.errorHandler() return the devault error message by default if you don't specify the custom error message.

  • emailError: Email is invalid
  • stringError: Input is not a string
  • maxError: Input is too long
  • minError: Input is too short
  • whitespaceError: Input can't contain spaces
  • numberError: Input is not a number
  • booleanError: Input is not a boolean
  • imageError: Invalid image or unsupported image format

Example

Simple input validation

const former = require('@devardha/former.js');

const validEmail = former.check.string('[email protected]', { type: 'email' });
console.log(validEmail)
// => [email protected]

const invalidEmail = former.check.string('invalidemail', { type: 'email' });
console.log(invalidEmail)
// => EMAIL_ERROR

Full form validation

const former = require('@devardha/former.js');

// form data must be an object
const formData = {
    email: former.check.string('[email protected]', { type: 'email' }),
    username: former.check.string('myusername', { min: 3, whitespace: false }), // the username can't contain spaces.
    password: former.check.string('secretpassword', { min: 8, max: 16 }) // password cannot have more than 16 characters
}

former.validate(formData, function (err, data) {
    if(data){
        // do something with your data here
    }

    // Handling errors
    console.log(formerjs.errorHandler(err, { minError: 'Too short bro!', whitespaceError: 'Opps, your username contain spaces' }));
})

List of former.js error code

  • EMAIL_ERROR
  • STRING_ERROR
  • MAX_ERROR
  • MIN_ERROR
  • WHITESPACE_ERROR
  • NUMBER_ERROR
  • BOOLEAN_ERROR
  • IMAGE_ERROR