节点Bookshelf.js如何检查表中是否存在字段
问题描述:
我需要验证http请求的所有查询参数,knex或bookshelf是否有函数来做这样的事情?节点Bookshelf.js如何检查表中是否存在字段
这里是我的代码示例:
var validateModelQuery = function(Model , query) {
for(var att in query) {
if(!Model.has(att)) //does not exist
return false;
}
return true;
};
/
router.get('/customers', function(req, res, next) {
if (!validateModelQuery(Customer , req.query)) {
res.status(400);
Customer.where(req.query).fetchAll()
......
你们有什么建议来验证请求参数或身体,因为手动在每一个路线写的所有领域,是一个真正的坏编码。
嗨,João,我想书架和knex都没有提供这样的功能。如果你知道底层数据库,你可以查询一些系统表(并可能缓存结果)。例如MySql:http://*.com/questions/4165195/mysql-query-to-get-column-names#4165253;然后将列名称转换为骆驼大小写(如果适用于您的书架模型属性名称)。 – bgerth