1.2.7 • Published 4 years ago
@vp_solutions/validators v1.2.7
Package provide you functionality for validate payloads in your project in easy and clear way.
Usage:
import {
ArrayValidator,
BooleanValidator,
MongoIdValidator,
NumberValidator,
ObjectValidator,
OneOfValidator,
PayloadValidator,
StringValidator,
} from '@vp_solutions/validators';
import { ValidationError } from '@vp_solutions/errors';
const validator = new PayloadValidator({
array: {
isRequiredKey: false,
validator: new ArrayValidator({
minLength: 1,
maxLength: 10,
itemsValidator: new ObjectValidator({
id: {
isRequiredKey: true,
validator: new MongoIdValidator(),
},
}),
}),
},
boolean: {
isRequiredKey: false,
validator: new BooleanValidator(),
},
string: {
isRequiredKey: true,
validator: new StringValidator({ minLength: 3, maxLength: 20 }),
},
oneOf: {
isRequiredKey: true,
validator: new OneOfValidator<number>([0, 1]),
},
number: {
isRequiredKey: false,
validator: new NumberValidator(),
},
});
validator.validate({
array: [
{ id: '5d47219ed9dc4105e680f538' }, // valid
{}, // invalid
1, // invalid
],
boolean: false, // valid
string: '01', // invalid
oneOf: '0', // invalid
number: 1, // valid
}).then(() => {
// Payload is valid, you can do your business logic
}).catch((err: ValidationError) => {
// Payload is invalid, you got ValidationError
});