如何正确使用express-validator提供的blacklist校验方法
问题解答
你用到的是express-validator封装后的链式调用语法,和原生validator.js的独立函数调用逻辑不同,不需要手动传入input参数。
- 原生validator.js的
blacklist(input, chars)是独立工具方法,需要手动传入待处理的字符串作为input参数,第二个参数是要移除的字符集合。 - 你当前使用的
check("字段名")语法已经提前绑定了对应请求字段的取值,后续链式调用的校验/清洗方法,都会自动把当前字段的值作为第一个参数传入,你只需要给blacklist()传第二个参数——也就是你要从该字段中移除的字符集合即可。
你现有代码里的写法是完全正确的:
check("restaurant").notEmpty().blacklist("<>")
这段代码会自动获取请求中restaurant字段的值作为input参数,移除所有<和>字符。比如用户提交的restaurant值为<肯德基>,处理后会被清洗为肯德基。
内容的提问来源于stack exchange,提问作者user7496931
相关产品推荐
相关产品推荐

