A simple object schema validate tool. (Simplified version of hapijs/joi)
via npm
npm i obeyman -S
// define schema
const schema = Obeyman.object().keys({
userId: Obeyman.number().required(),
pageNum: Obeyman.number().required(),
pageSize: Obeyman.number().optional(),
ts: Obeyman.string(),
});
const target = {
userid: 123,
pageNum: 2,
ts: +new Date()
};
// validate
const errStack = Obeyman.validate(target, schema);
console.log(errStack);
// output:
// [
// { userId: 'is required' },
// { ts: 'this field should be string' }
// ]
// or use callback
Obeyman.validate(data, schema, (error, stack) => {
if (error) {
console.warn(`Validate failed\n`, stack);
}
});
Other types(e.g.
array
,number
,string
) inherit from typeany
#any
any.allow
any.required
any.optional
any.len
any.min
any.max
#array
array.items
#boolean
#number
#object
object.keys
#string
string.alphaNumber