Former.js is a simple, flexible, and easy-to-use form validator for javascript.
$ npm install @devardha/former.jsformer.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.
former.check.string(input, [options]) // String validation
former.check.boolean(input) // Boolean validation
former.check.number(input) // Number/integer validation-
input
- Type:
string,boolean, ornumber - The input value you want to validate
- Type:
-
options (optional)
- Type:
Object - The options object to specify the input validation.
- Type:
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('user@email.com', { type: 'email' })
// Image validation
former.check.string('image.jpg', { type: 'image' })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
- Type:
-
callback
- Type:
Function - A callback to be fired once the data has been validated.
- Type:
former.js support custom error message for form validation using former.errorHandler().
former.errorHandler(err, [errorMessage]);-
err
- Type:
String - Error data
- Type:
-
errorMessage (optional)
- Type:
Object - Custom error message
- Type:
Simple example
const email = former.check.string('invalidemail@email', { type: 'email' }
former.errorHandler(email, { emailError: 'Email address is invalid!' })
// => Email address is invalid!former.errorHandler() return the devault error message by default if you don't specify the custom error message.
emailError: Email is invalidstringError: Input is not a stringmaxError: Input is too longminError: Input is too shortwhitespaceError: Input can't contain spacesnumberError: Input is not a numberbooleanError: Input is not a booleanimageError: Invalid image or unsupported image format
const former = require('@devardha/former.js');
const validEmail = former.check.string('test@email.com', { type: 'email' });
console.log(validEmail)
// => test@email.com
const invalidEmail = former.check.string('invalidemail', { type: 'email' });
console.log(invalidEmail)
// => EMAIL_ERRORconst former = require('@devardha/former.js');
// form data must be an object
const formData = {
email: former.check.string('test@email.com', { 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' }));
})EMAIL_ERRORSTRING_ERRORMAX_ERRORMIN_ERRORWHITESPACE_ERRORNUMBER_ERRORBOOLEAN_ERRORIMAGE_ERROR