我想建立使用express-validator使Node.js應用程序,這將讓我驗證請求參數在身體像這樣 -調用對象的方法,該方法的名字只有字符串
req.checkBody('email_id', 'Invalid email ID!').notEmpty().isEmail();
現在我我試圖構建一個大的JSON配置文件,該文件將包含應用程序中每個路由的所有字段及其規則(例如函數名稱,例如isEmail()
)。我想寫一個攔截每個請求的中間件,找到路由,從JSON文件中選擇字段和驗證規則,然後運行這些規則。該配置文件應該是這樣的 -
{
"VALIDATION_RULES": {
"/createUser": {
"RULES": {
"email_id": {
"message": "Invalid email ID!",
"rules": ["notEmpty","isEmail"]
}
}
}
}
}
我可以看看快遞驗證器模塊的出口得到所有可用的驗證功能名稱。如果他們是獨立的函數調用,我會看到如何使用它的名稱字符串調用該函數,如here和here所示。
如何挑選規則(notEmpty
或isEmail
),這些規則是JSON中的字符串,將它們轉換爲函數並鏈接到req.checkBody($field, $field.message)
?