2.0.0 • Published 8 years ago
vlad v2.0.0
vlad 
A simple asynchronous JSON validator with a chainable syntax.
npm install vlad
Example
Object Validation
var validate = vlad.promise({
email: vlad.string,
location: vlad({
long: vlad.number.required.within(-180, 180),
lat: vlad.number.required.within(-90, 90)
}),
tags: vlad.array.of(vlad.string.within(3, 10))
});
validate(validObject).then(function(value) {
/*{
email: "me@example.com",
location: {
long: 70.235,
lat: 60.234
},
tags: ['foo', 'bar']
}*/
});
validate(invalidObject).catch(function(err) {
/* GroupValidationError {
message: "Invalid object.",
fields: {
email: FieldValidationError {message: '...'},
location: GroupValidationError {
message: 'Invalid object.',
fields: {
long: FieldValidationError {message: '...'}
}
},
tags: ArrayValidationError {
message: 'Invalid array.',
fields: [
undefined,
FieldValidationError {message: '...'},
undefined
]
}
}
}*/
});
Express Middleware
router.post('/',
vlad.middleware('body', {
email: vlad.string.required.pattern(/.*@.*/)
}),
function(req, res) {
res.send(200);
}
);
router.use(function(err, req, res, next) {
if (err instanceof vlad.ValidationError) {
res.status(400).send(err.toJSON());
} else {
res.sendStatus(500);
}
});
Subvalidators
var validate = vlad({
field: vlad.string.required
});
validate({ field: 'hello world' }).then( /* handle */ );
validate.field('hello world').then( /* handle */ )
API Reference
2.0.0
8 years ago
1.3.4
8 years ago
1.3.2
8 years ago
1.3.1
8 years ago
1.3.0
9 years ago
1.2.0
9 years ago
1.1.0
9 years ago
1.0.2
9 years ago
1.0.1
9 years ago
1.0.0
9 years ago
0.19.1
9 years ago
0.19.0
9 years ago
0.18.0
9 years ago
0.17.0
10 years ago
0.16.1
10 years ago
0.16.0
10 years ago
0.15.0
10 years ago
0.14.0
10 years ago
0.13.0
10 years ago
0.12.1
10 years ago
0.12.0
10 years ago
0.11.0
10 years ago
0.10.0
10 years ago
0.9.2
10 years ago
0.9.1
10 years ago
0.9.0
10 years ago
0.8.0
10 years ago
0.7.0
10 years ago
0.6.0
10 years ago
0.5.3
10 years ago
0.5.2
10 years ago
0.4.1
10 years ago
0.3.1
10 years ago
0.3.0
10 years ago