Abolish
A Javascript object validator for custom validations
Documentation: Abolish Documentation
Playground: Abolish Playground
Basic Example
const {Abolish} = require('abolish');
const abolish = new Abolish();
const EmailValidator = require('abolish/validators/string/email');
abolish.addValidator(EmailValidator);
abolish.addValidator({
name: 'addProtocol',
validator: (url, option, {modifier}) => {
if (url.substring(0, option.length) !== option) {
modifier.setThis(`${option}://${url}`)
}
return true
}
});
const form = {
email: 'appdeveloper@sky.com',
username: 'john_doe',
age: 18,
url: 'wildstream.ng'
};
const [error, validated] = abolish.validate(form, {
$: 'required|typeOf:string',
email: 'isEmail',
username: '*',
age: 'typeOf:number|max:20',
url: 'addProtocol:http'
});
console.log({form, validation: {error, validated}});
Result
{
form: {
email: 'appdeveloper@sky.com',
username: 'john_doe',
age: 18,
url: 'wildstream.ng'
},
validation: {
error: null,
validated: {
email: 'appdeveloper@sky.com',
username: 'john_doe',
age: 18,
url: 'http://wildstream.ng'
}
}
}