如何解决如果字段多于一个,如何在nodejs中使用sanitize-html清理表单数据?
我尝试对具有名称,电子邮件,电话和查询字段的html进行清理,对于一次输入,我在记录日志时会在控制台中获取数据,但会获得多个字段
TypeError:无法将对象转换为原始值
我的代码如下
router.post('/',async(req,res)=>{
try {
var clean = sanitizeHtml( req.body,{ allowedTags: [],allowedAttributes: {} });
// console.log(clean);
const inquiry = new Inquiry(clean);
await inquiry.save();
res.redirect('/');
} catch(err){
throw(err)
}
})
form.py-3.mx-auto(action="/" method="POST")
.form-row#form-id
.col-md-2
input.form-control(type="text" placeholder="Name" name="name")
br
.col-md-3
input.form-control(type="text" placeholder="Email" name="email")
br
.col-md-2
input.form-control(type="text" placeholder="phone" name="phone")
br
.col-md-3
input.form-control(type="text" placeholder="Brief inquiry" name="inquiry")
br
.col-md
input.btn.btn-primary(type="submit" value="Submit")
我终于设法通过分别处理每个输入来解决它,并且它可以工作,但是,如果有人得到简化的方法,我将很乐意接受它
router.post('/',res)=>{
try {
var cleanName = sanitizeHtml( req.body.name,allowedAttributes: {} });
var cleanEmail = sanitizeHtml( req.body.email,allowedAttributes: {} });
var cleanPhone = sanitizeHtml( req.body.phone,allowedAttributes: {} });
var cleanInquiry = sanitizeHtml( req.body.inquiry,allowedAttributes: {} });
const inquiry = new Inquiry();
inquiry.name = cleanName;
inquiry.email = cleanEmail;
inquiry.phone = cleanPhone;
inquiry.inquiry = cleanInquiry;
await inquiry.save();
res.redirect('/');
} catch(err){
throw(err)
}
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。