1.0.47 • Published 2 years ago
body-validations v1.0.47
// Basic rule
const request_body = {
name: "Souksavanh",
age: 23,
some_id: "61c3fc57c312253a7e1da187",
gender: "male",
phone_number: 526839374,
contact_detail: {
gmail: "souksavanh@gmail.com",
whatsapp: "563434234",
},
contact_detail_else: {
gmail: "souksavanh@gmail.com",
},
empty_object: ["1", "2"],
};
/*
First rule string: requied optional objectid
Second: Error message
Third: value type or validation [string,object,number,object,array,enum,exist]
*/
const rule = {
name: "required|name must be string|string",
age: "required|name must be number|number",
some_id: "required|name must be ojectid|ojectid",
gender: "required|name must be string|enum:male,female",
phone_number: "required|name must be string|exist:users", // users is model name base on mongoose model SUPPORT mongoose only / Mongodb
"office_id:_id": "objectid|name must be string|exist:offices", // will use _id to find exist data, offices is model name base on mongoose model SUPPORT mongoose only / Mongodb
contact_detail: "required|name must be string|object:gmail/string,whatsapp/required-string", //or
contact_detail_else: "required|name must be string|object:gmail/string,whatsapp/string",
array_data: "required|name must be array|array",
};
const exclude_body = await validate({ rule, req: req, exclude_body: true,type:"body" }); //or type = [body,query]
/*
const rule = {
name: "Souksavanh",
age: 23,
some_id: "61c3fc57c312253a7e1da187",
gender: "male",
phone_number: 526839374,
contact_detail: {
gmail: "souksavanh@gmail.com",
whatsapp: "563434234",
},
contact_detail_else: {
gmail: "souksavanh@gmail.com",
},
empty_object: ["1", "2"],
};
*/
const no_exclude_body = await validate({ rule, body: request_body });
/* return everything in object even nothing rule set
const rule = {
name: "Souksavanh",
name1: "Souksavanh",
name2: "Souksavanh",
name2: "Souksavanh",
age: 23,
some_id: "61c3fc57c312253a7e1da187",
gender: "male",
phone_number: 526839374,
contact_detail: {
gmail: "souksavanh@gmail.com",
whatsapp: "563434234",
},
contact_detail_else: {
gmail: "souksavanh@gmail.com",
},
empty_object: ["1", "2"],
};
*/
# Using with async-api-response and helper async middleware with ExpressJS
const Res = require("async-api-response")
const async_middleware = (handler) => {
return async (req, res, next) => {
const resp = new Res(res);
try {
await handler(req, res, next);
} catch (ex) {
return resp.catch({ error: ex });
}
};
}
const simple_test = async_middleware(async (req,res)=> {
const resp = new Res(res)
const no_exclude_body = await validate({ rule, req, });
return resp.response({data:"some_data"});
})
router.get("/",simple_test)
1.0.47
2 years ago
1.0.44
2 years ago
1.0.43
2 years ago
1.0.42
2 years ago
1.0.41
2 years ago
1.0.40
2 years ago
1.0.39
2 years ago
1.0.38
2 years ago
1.0.37
2 years ago
1.0.36
2 years ago
1.0.35
2 years ago
1.0.34
2 years ago
1.0.33
2 years ago
1.0.32
2 years ago
1.0.31
2 years ago
1.0.30
2 years ago
1.0.29
2 years ago
1.0.28
2 years ago
1.0.27
2 years ago
1.0.26
2 years ago
1.0.25
2 years ago
1.0.23
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago