node.js - 使用 express-validator 验证输入是否在数字范围内,可能是浮点数
问题描述
我正在尝试使用express-validator 验证输入是某个范围内的整数还是浮点数。我试过了:
check(
'rating',
'Rating must be a number between 0 and 5'
).isNumeric({ min: 0, max: 5 }),
但min
andmax
值实际上不起作用。我尝试在上面输入数字5
,但它们不会引发错误。
下面的代码有效,它不允许超出min
和max
限制的数字:
check(
'rating',
'Rating must be a number between 0 and 5'
).isInt({ min: 0, max: 5 })
但仅适用于整数,不适用于小数,并且输入需要是小数或介于0
和之间的整数5
。
有没有办法做到这一点?
解决方案
isNumeric
没有 amin
和max
值,您可以isFloat
改用:
check('rating', 'Rating must be a number between 0 and 5')
.isFloat({ min: 5, max: 5 })
您可以在validator.js 文档中阅读有关这些方法的更多信息。
推荐阅读
- angular - Angular 5 移除 html 上的(点击)事件
- python - Tkinter 按钮无法正确显示
- javascript - 如何将下拉菜单从垂直线对齐到水平线?
- node.js - MongoDB我如何在一个非唯一名称键的对象内的位置数组中使用$center
- vue.js - 如何将 Vuelidate 与可编辑的 Vuetify 数据表字段一起使用
- nginx - 使用来自其他应用程序的资产在子路径中链接 Rails 5 应用程序
- python - pytest输出结果在pycharm中出现乱码
- java - Streams 可以通过它们返回的方法关闭吗?
- android - 来自 ConstraintSet 的 clone 和 applyTo 使应用程序崩溃
- node.js - 使用书架的查询中的 OR 子句