首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在快速验证中将字符串与数组中的值匹配

在快速验证中将字符串与数组中的值匹配
EN

Stack Overflow用户
提问于 2016-12-22 18:57:22
回答 7查看 16.6K关注 0票数 9

我正在使用快速验证器来验证我的API的输入,但是我在理解匹配函数时遇到了一些问题。基本上,我需要能够找出一个字符串是否与一个可接受的值数组中的任何一个值相匹配,如下所示,但它似乎不起作用。有什么建议吗?

代码语言:javascript
运行
复制
var schema = {
  "role": {
    in: 'body',
    matches: {
      options: ["administrator", "editor", "contributor", "user"],
      errorMessage: "Invalid role"
    }
  }
}

req.check(schema)
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-12-22 20:02:01

matches.options构造一个正则表达式。可以将regex作为数组的第一个元素传递。试试这个:

代码语言:javascript
运行
复制
var schema = {
  "role": {
    in: 'body',
    matches: {
      options: [/\b(?:administrator|editor|contributor|user)\b/],
      errorMessage: "Invalid role"
    }
  }
}
票数 10
EN

Stack Overflow用户

发布于 2019-07-15 13:42:35

作为一种选择,您可以使用此模式:

代码语言:javascript
运行
复制
 var schema = {
  "role": {
    in: 'body',
    isIn: {
      options: [["administrator", "editor", "contributor", "user"]],
      errorMessage: "Invalid role"
    }
  }
}

更多关于本期的报道。

票数 7
EN

Stack Overflow用户

发布于 2021-03-24 21:17:18

我的方法是使用isIn()

代码语言:javascript
运行
复制
check('action').isIn(['like', 'dislike']).run(req)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41289980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档