新手求问 如何规避从param中取到undefined导致插入或编辑数据库报错
发布于 7 年前 作者 zj9495 2831 次预览 最后一次回复是 7 年前 来自 问答
代码如下
let postData = ctx.request.body
let data = {
vend_id: postData.vend_id,
vend_name: postData.vend_name,
remark: postData.remark
}
squel.update()
.table('vendors')
.setFields(data)
.where('vend_id = ?', postData.vend_id)
\n```
params为post提交过来的数据
remark是非必填字段 有的时候前端没有传过来remark字段就会导致remark取到undefined squel就会报 field value must be a string, number, boolean, null or one of the registered custom value types的错误
有什么好的办法规避这种情况吗
目前我是写个clearProp方法清除data中为undefined的属性 感觉每次insert或者update之前都要调用一次特别的麻烦
我看一位5年的JAVA前同事写的nodejs代码 是把不需要的一些属性比如token之类的删除之后直接把postData插入到数据库 这样操作合适吗 感觉不太安全啊
有什么好的办法规避吗?
第一次在cnode发帖 多多包涵1 回复
可以试试我写这个库哦,如果你觉得直接存不安全,你先验证一下就行了 https://github.com/gateschema/gateschema-js