通过快速验证器模式验证清理数组值

问题描述

我正在使用 express-validator 来清理和验证输入数据。在一条路线上,浏览器提交一个字段“问题”作为一个数组。我想验证它不为空,并清理数据以确保这些都是整数值。

下面的代码似乎成功验证了它是否为空 - 但 customSanitizer 从未运行(我在该行设置了断点)并且诸如 ["1","3a"] 之类的东西通过中间件保持不变。

app.post(
  'issuelookup',checkSchema({ 
   issues: {
      custom: {
         options: (value,{ req,location,path }) => value.length > 0,},errorMessage: "No issues",customSanitizer: {
         options: (value,path }) => {
            return value.map((v) => parseInt(v)).filter((v) => Number.isInteger(v));
         },}),function (req,res,next) {
...

谁能解释为什么不使用 customSanitzer,以及如何在不创建全新中间件的情况下解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)