首页 > 解决方案 > 使用 express-validator 验证输入是否在数字范围内,可能是浮点数

问题描述

我正在尝试使用express-validator 验证输入是某个范围内的整数还是浮点数。我试过了:

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

minandmax值实际上不起作用。我尝试在上面输入数字5,但它们不会引发错误。

下面的代码有效,它不允许超出minmax限制的数字:

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

但仅适用于整数,不适用于小数,并且输入需要是小数或介于0和之间的整数5

有没有办法做到这一点?

标签: node.jsexpressexpress-validator

解决方案


isNumeric没有 aminmax值,您可以isFloat改用:

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

您可以在validator.js 文档中阅读有关这些方法的更多信息。


推荐阅读