String validation (validator.js) and custom validators using promises
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);
});
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.
$ npm test
MIT