Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Promises/A+ logo

Validator.js for Promises

NPM version Build Status Downloads License

String validation (validator.js) and custom validators using promises

Usage

All standard validator.js methods are available.

Simply add the Async suffix to use the promise-based version. The first parameter is always the error message string which will be thrown as an error if the promise is rejected.

Method isAlphanumeric(value) becomes isAlphanumericAsync(errorMsg, value)

Example:

const validator = require('validator-as-promised');

// Synchronous method
if( validator.isAlphanumeric('abcdef') ) {
	console.log('String contains alphanumeric characters.');
}

// Asynchronous method (Promise)
validator.isAlphanumericAsync('String should contain alphanumeric characters!', 'abcdef').then((result) => {
	console.log('Success!');
}).catch((ex) => {
	console.log(ex);
});

Custom Validators

You can define your own validation functions using the built-in .custom(errorMsg, func [, args...]) method:

// Example 1
validator.custom('Should be true!', (val) => { return val === true; }, true).then((result) => {
	console.log('Value is true!');
}).catch((ex) => {
	console.log('Value was not true!');
});

// Example 2
validator.custom('First number should be lower than second number!', (num1, num2) => { return num1 < num2; }, 34, 87).then((result) => {
	console.log('Validation succeeded!');
}).catch((ex) => {
	console.log('Validation failed!');
});

The custom function should return a truthy value or a promise. Synchronous functions will be promisified automatically.

Unlike validator.js methods which only accepts string inputs, the custom validators can accept values of any type.

Tests

$ npm test

License

MIT

About

String validation and sanitization (validator.js) using promises

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.