使用express-validator验证输入是否在数字范围内,可能是浮点数

问题描述

我试图使用express-validator验证输入是整数还是在一定范围内的浮点数。我已经尝试过...

<class 'dict'>
----------
{'series': [{'name': 'Water','data': [[90,50000],[91,53000]]},{'name': 'Tea',47000],{'name': 'Tonic',63000],68000]]}]}

...但是最小和最大实际上不起作用。我尝试输入大于5的数字,但它们不会抛出错误。

以下工作原理(不允许数字超出最小值和最大值)...

check(
      'rating','Rating must be a number between 0 and 5'
).isNumeric({ min: 0,max: 5 }),

...但仅适用于整数,不适用于小数,并且输入内容必须是十进制或0到5之间的整数

有没有办法做到这一点?谢谢

解决方法

isNumber不能具有min和max,可以使用isFloat来代替它:

check('rating','Rating must be a number between 0 and 5')
.isFloat({min:5,max:5}))

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...