validator-as-promised

String validation and sanitization (validator.js) using promises

Usage no npm install needed!

<script type="module">
  import validatorAsPromised from 'https://cdn.skypack.dev/validator-as-promised';
</script>

README

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